@bsv/sdk 1.3.13 → 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 (1251) hide show
  1. package/dist/cjs/mod.js +15 -15
  2. package/dist/cjs/mod.js.map +1 -1
  3. package/dist/cjs/package.json +7 -3
  4. package/dist/cjs/src/auth/Peer.js +71 -61
  5. package/dist/cjs/src/auth/Peer.js.map +1 -1
  6. package/dist/cjs/src/auth/SessionManager.js +10 -5
  7. package/dist/cjs/src/auth/SessionManager.js.map +1 -1
  8. package/dist/cjs/src/auth/certificates/Certificate.js +33 -30
  9. package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -1
  10. package/dist/cjs/src/auth/certificates/MasterCertificate.js +36 -36
  11. package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
  12. package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +9 -9
  13. package/dist/cjs/src/auth/certificates/VerifiableCertificate.js.map +1 -1
  14. package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js +45 -29
  15. package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
  16. package/dist/cjs/src/auth/certificates/index.js +5 -5
  17. package/dist/cjs/src/auth/certificates/index.js.map +1 -1
  18. package/dist/cjs/src/auth/clients/AuthFetch.js +65 -74
  19. package/dist/cjs/src/auth/clients/AuthFetch.js.map +1 -1
  20. package/dist/cjs/src/auth/clients/index.js +1 -1
  21. package/dist/cjs/src/auth/clients/index.js.map +1 -1
  22. package/dist/cjs/src/auth/index.js +7 -7
  23. package/dist/cjs/src/auth/index.js.map +1 -1
  24. package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js +99 -80
  25. package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
  26. package/dist/cjs/src/auth/transports/index.js +1 -1
  27. package/dist/cjs/src/auth/transports/index.js.map +1 -1
  28. package/dist/cjs/src/auth/utils/createNonce.js +6 -5
  29. package/dist/cjs/src/auth/utils/createNonce.js.map +1 -1
  30. package/dist/cjs/src/auth/utils/getVerifiableCertificates.js +2 -2
  31. package/dist/cjs/src/auth/utils/getVerifiableCertificates.js.map +1 -1
  32. package/dist/cjs/src/auth/utils/index.js +4 -4
  33. package/dist/cjs/src/auth/utils/index.js.map +1 -1
  34. package/dist/cjs/src/auth/utils/validateCertificates.js +7 -4
  35. package/dist/cjs/src/auth/utils/validateCertificates.js.map +1 -1
  36. package/dist/cjs/src/auth/utils/verifyNonce.js +5 -4
  37. package/dist/cjs/src/auth/utils/verifyNonce.js.map +1 -1
  38. package/dist/cjs/src/compat/BSM.js +16 -26
  39. package/dist/cjs/src/compat/BSM.js.map +1 -1
  40. package/dist/cjs/src/compat/ECIES.js +50 -52
  41. package/dist/cjs/src/compat/ECIES.js.map +1 -1
  42. package/dist/cjs/src/compat/HD.js +36 -46
  43. package/dist/cjs/src/compat/HD.js.map +1 -1
  44. package/dist/cjs/src/compat/Mnemonic.js +30 -39
  45. package/dist/cjs/src/compat/Mnemonic.js.map +1 -1
  46. package/dist/cjs/src/compat/Utxo.js +5 -5
  47. package/dist/cjs/src/compat/Utxo.js.map +1 -1
  48. package/dist/cjs/src/compat/index.js +16 -26
  49. package/dist/cjs/src/compat/index.js.map +1 -1
  50. package/dist/cjs/src/messages/EncryptedMessage.js +14 -14
  51. package/dist/cjs/src/messages/EncryptedMessage.js.map +1 -1
  52. package/dist/cjs/src/messages/SignedMessage.js +21 -20
  53. package/dist/cjs/src/messages/SignedMessage.js.map +1 -1
  54. package/dist/cjs/src/messages/index.js +9 -19
  55. package/dist/cjs/src/messages/index.js.map +1 -1
  56. package/dist/cjs/src/overlay-tools/LookupResolver.js +44 -32
  57. package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -1
  58. package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js +12 -12
  59. package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
  60. package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +11 -10
  61. package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
  62. package/dist/cjs/src/overlay-tools/index.js +8 -8
  63. package/dist/cjs/src/overlay-tools/index.js.map +1 -1
  64. package/dist/cjs/src/primitives/AESGCM.js +6 -5
  65. package/dist/cjs/src/primitives/AESGCM.js.map +1 -1
  66. package/dist/cjs/src/primitives/BasePoint.js +2 -2
  67. package/dist/cjs/src/primitives/BasePoint.js.map +1 -1
  68. package/dist/cjs/src/primitives/BigNumber.js +5 -4
  69. package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
  70. package/dist/cjs/src/primitives/Curve.js +70 -36
  71. package/dist/cjs/src/primitives/Curve.js.map +1 -1
  72. package/dist/cjs/src/primitives/DRBG.js +6 -6
  73. package/dist/cjs/src/primitives/DRBG.js.map +1 -1
  74. package/dist/cjs/src/primitives/ECDSA.js +71 -55
  75. package/dist/cjs/src/primitives/ECDSA.js.map +1 -1
  76. package/dist/cjs/src/primitives/Hash.js +115 -105
  77. package/dist/cjs/src/primitives/Hash.js.map +1 -1
  78. package/dist/cjs/src/primitives/JacobianPoint.js +25 -15
  79. package/dist/cjs/src/primitives/JacobianPoint.js.map +1 -1
  80. package/dist/cjs/src/primitives/K256.js +2 -2
  81. package/dist/cjs/src/primitives/K256.js.map +1 -1
  82. package/dist/cjs/src/primitives/Mersenne.js +4 -4
  83. package/dist/cjs/src/primitives/Mersenne.js.map +1 -1
  84. package/dist/cjs/src/primitives/MontgomoryMethod.js +5 -5
  85. package/dist/cjs/src/primitives/MontgomoryMethod.js.map +1 -1
  86. package/dist/cjs/src/primitives/Point.js +114 -87
  87. package/dist/cjs/src/primitives/Point.js.map +1 -1
  88. package/dist/cjs/src/primitives/Polynomial.js +14 -14
  89. package/dist/cjs/src/primitives/Polynomial.js.map +1 -1
  90. package/dist/cjs/src/primitives/PrivateKey.js +48 -58
  91. package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
  92. package/dist/cjs/src/primitives/PublicKey.js +23 -23
  93. package/dist/cjs/src/primitives/PublicKey.js.map +1 -1
  94. package/dist/cjs/src/primitives/Random.js +2 -1
  95. package/dist/cjs/src/primitives/Random.js.map +1 -1
  96. package/dist/cjs/src/primitives/ReductionContext.js +10 -10
  97. package/dist/cjs/src/primitives/ReductionContext.js.map +1 -1
  98. package/dist/cjs/src/primitives/Schnorr.js +8 -8
  99. package/dist/cjs/src/primitives/Schnorr.js.map +1 -1
  100. package/dist/cjs/src/primitives/Signature.js +23 -23
  101. package/dist/cjs/src/primitives/Signature.js.map +1 -1
  102. package/dist/cjs/src/primitives/SymmetricKey.js +13 -13
  103. package/dist/cjs/src/primitives/SymmetricKey.js.map +1 -1
  104. package/dist/cjs/src/primitives/TransactionSignature.js +38 -38
  105. package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
  106. package/dist/cjs/src/primitives/index.js +34 -44
  107. package/dist/cjs/src/primitives/index.js.map +1 -1
  108. package/dist/cjs/src/primitives/utils.js +38 -37
  109. package/dist/cjs/src/primitives/utils.js.map +1 -1
  110. package/dist/cjs/src/script/LockingScript.js +2 -2
  111. package/dist/cjs/src/script/LockingScript.js.map +1 -1
  112. package/dist/cjs/src/script/OP.js +3 -3
  113. package/dist/cjs/src/script/OP.js.map +1 -1
  114. package/dist/cjs/src/script/Script.js +47 -47
  115. package/dist/cjs/src/script/Script.js.map +1 -1
  116. package/dist/cjs/src/script/Spend.js +304 -311
  117. package/dist/cjs/src/script/Spend.js.map +1 -1
  118. package/dist/cjs/src/script/UnlockingScript.js +2 -2
  119. package/dist/cjs/src/script/UnlockingScript.js.map +1 -1
  120. package/dist/cjs/src/script/index.js +11 -11
  121. package/dist/cjs/src/script/index.js.map +1 -1
  122. package/dist/cjs/src/script/templates/P2PKH.js +55 -47
  123. package/dist/cjs/src/script/templates/P2PKH.js.map +1 -1
  124. package/dist/cjs/src/script/templates/PushDrop.js +57 -51
  125. package/dist/cjs/src/script/templates/PushDrop.js.map +1 -1
  126. package/dist/cjs/src/script/templates/RPuzzle.js +49 -48
  127. package/dist/cjs/src/script/templates/RPuzzle.js.map +1 -1
  128. package/dist/cjs/src/script/templates/index.js +6 -6
  129. package/dist/cjs/src/script/templates/index.js.map +1 -1
  130. package/dist/cjs/src/totp/index.js +1 -1
  131. package/dist/cjs/src/totp/index.js.map +1 -1
  132. package/dist/cjs/src/totp/totp.js +9 -8
  133. package/dist/cjs/src/totp/totp.js.map +1 -1
  134. package/dist/cjs/src/transaction/Beef.js +78 -67
  135. package/dist/cjs/src/transaction/Beef.js.map +1 -1
  136. package/dist/cjs/src/transaction/BeefParty.js +5 -5
  137. package/dist/cjs/src/transaction/BeefParty.js.map +1 -1
  138. package/dist/cjs/src/transaction/BeefTx.js +39 -33
  139. package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
  140. package/dist/cjs/src/transaction/Broadcaster.js +3 -2
  141. package/dist/cjs/src/transaction/Broadcaster.js.map +1 -1
  142. package/dist/cjs/src/transaction/MerklePath.js +60 -38
  143. package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
  144. package/dist/cjs/src/transaction/Transaction.js +127 -85
  145. package/dist/cjs/src/transaction/Transaction.js.map +1 -1
  146. package/dist/cjs/src/transaction/broadcasters/ARC.js +48 -43
  147. package/dist/cjs/src/transaction/broadcasters/ARC.js.map +1 -1
  148. package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js +4 -3
  149. package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
  150. package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js +15 -15
  151. package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
  152. package/dist/cjs/src/transaction/broadcasters/index.js +6 -6
  153. package/dist/cjs/src/transaction/broadcasters/index.js.map +1 -1
  154. package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js +4 -3
  155. package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
  156. package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js +11 -11
  157. package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
  158. package/dist/cjs/src/transaction/chaintrackers/index.js +4 -4
  159. package/dist/cjs/src/transaction/chaintrackers/index.js.map +1 -1
  160. package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js +3 -3
  161. package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
  162. package/dist/cjs/src/transaction/fee-models/index.js +2 -2
  163. package/dist/cjs/src/transaction/fee-models/index.js.map +1 -1
  164. package/dist/cjs/src/transaction/http/DefaultHttpClient.js +12 -10
  165. package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
  166. package/dist/cjs/src/transaction/http/FetchHttpClient.js +2 -1
  167. package/dist/cjs/src/transaction/http/FetchHttpClient.js.map +1 -1
  168. package/dist/cjs/src/transaction/http/NodejsHttpClient.js +8 -8
  169. package/dist/cjs/src/transaction/http/NodejsHttpClient.js.map +1 -1
  170. package/dist/cjs/src/transaction/http/index.js +6 -6
  171. package/dist/cjs/src/transaction/http/index.js.map +1 -1
  172. package/dist/cjs/src/transaction/index.js +12 -12
  173. package/dist/cjs/src/transaction/index.js.map +1 -1
  174. package/dist/cjs/src/wallet/CachedKeyDeriver.js +34 -11
  175. package/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -1
  176. package/dist/cjs/src/wallet/KeyDeriver.js +10 -9
  177. package/dist/cjs/src/wallet/KeyDeriver.js.map +1 -1
  178. package/dist/cjs/src/wallet/ProtoWallet.js +68 -31
  179. package/dist/cjs/src/wallet/ProtoWallet.js.map +1 -1
  180. package/dist/cjs/src/wallet/WalletClient.js +18 -14
  181. package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
  182. package/dist/cjs/src/wallet/WalletError.js +2 -2
  183. package/dist/cjs/src/wallet/WalletError.js.map +1 -1
  184. package/dist/cjs/src/wallet/index.js +12 -12
  185. package/dist/cjs/src/wallet/index.js.map +1 -1
  186. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js +2 -1
  187. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  188. package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js +11 -11
  189. package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
  190. package/dist/cjs/src/wallet/substrates/WalletWireCalls.js.map +1 -1
  191. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +239 -238
  192. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  193. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +311 -300
  194. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  195. package/dist/cjs/src/wallet/substrates/XDM.js +9 -7
  196. package/dist/cjs/src/wallet/substrates/XDM.js.map +1 -1
  197. package/dist/cjs/src/wallet/substrates/index.js +12 -12
  198. package/dist/cjs/src/wallet/substrates/index.js.map +1 -1
  199. package/dist/cjs/src/wallet/substrates/window.CWI.js +32 -32
  200. package/dist/cjs/src/wallet/substrates/window.CWI.js.map +1 -1
  201. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  202. package/dist/esm/mod.js +15 -31
  203. package/dist/esm/mod.js.map +1 -1
  204. package/dist/esm/src/auth/Peer.js +64 -63
  205. package/dist/esm/src/auth/Peer.js.map +1 -1
  206. package/dist/esm/src/auth/SessionManager.js +11 -10
  207. package/dist/esm/src/auth/SessionManager.js.map +1 -1
  208. package/dist/esm/src/auth/certificates/Certificate.js +32 -34
  209. package/dist/esm/src/auth/certificates/Certificate.js.map +1 -1
  210. package/dist/esm/src/auth/certificates/MasterCertificate.js +36 -43
  211. package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
  212. package/dist/esm/src/auth/certificates/VerifiableCertificate.js +9 -16
  213. package/dist/esm/src/auth/certificates/VerifiableCertificate.js.map +1 -1
  214. package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js +46 -33
  215. package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
  216. package/dist/esm/src/auth/certificates/index.js +4 -25
  217. package/dist/esm/src/auth/certificates/index.js.map +1 -1
  218. package/dist/esm/src/auth/clients/AuthFetch.js +66 -79
  219. package/dist/esm/src/auth/clients/AuthFetch.js.map +1 -1
  220. package/dist/esm/src/auth/clients/index.js +1 -17
  221. package/dist/esm/src/auth/clients/index.js.map +1 -1
  222. package/dist/esm/src/auth/index.js +7 -23
  223. package/dist/esm/src/auth/index.js.map +1 -1
  224. package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js +99 -85
  225. package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
  226. package/dist/esm/src/auth/transports/index.js +1 -17
  227. package/dist/esm/src/auth/transports/index.js.map +1 -1
  228. package/dist/esm/src/auth/types.js +1 -2
  229. package/dist/esm/src/auth/utils/createNonce.js +5 -8
  230. package/dist/esm/src/auth/utils/createNonce.js.map +1 -1
  231. package/dist/esm/src/auth/utils/getVerifiableCertificates.js +3 -7
  232. package/dist/esm/src/auth/utils/getVerifiableCertificates.js.map +1 -1
  233. package/dist/esm/src/auth/utils/index.js +4 -20
  234. package/dist/esm/src/auth/utils/index.js.map +1 -1
  235. package/dist/esm/src/auth/utils/validateCertificates.js +8 -9
  236. package/dist/esm/src/auth/utils/validateCertificates.js.map +1 -1
  237. package/dist/esm/src/auth/utils/verifyNonce.js +4 -7
  238. package/dist/esm/src/auth/utils/verifyNonce.js.map +1 -1
  239. package/dist/esm/src/compat/BSM.js +14 -56
  240. package/dist/esm/src/compat/BSM.js.map +1 -1
  241. package/dist/esm/src/compat/ECIES.js +44 -75
  242. package/dist/esm/src/compat/ECIES.js.map +1 -1
  243. package/dist/esm/src/compat/HD.js +30 -69
  244. package/dist/esm/src/compat/HD.js.map +1 -1
  245. package/dist/esm/src/compat/Mnemonic.js +24 -62
  246. package/dist/esm/src/compat/Mnemonic.js.map +1 -1
  247. package/dist/esm/src/compat/Utxo.js +5 -11
  248. package/dist/esm/src/compat/Utxo.js.map +1 -1
  249. package/dist/esm/src/compat/bip-39-wordlist-en.js +1 -4
  250. package/dist/esm/src/compat/bip-39-wordlist-en.js.map +1 -1
  251. package/dist/esm/src/compat/index.js +5 -48
  252. package/dist/esm/src/compat/index.js.map +1 -1
  253. package/dist/esm/src/messages/EncryptedMessage.js +16 -24
  254. package/dist/esm/src/messages/EncryptedMessage.js.map +1 -1
  255. package/dist/esm/src/messages/SignedMessage.js +23 -30
  256. package/dist/esm/src/messages/SignedMessage.js.map +1 -1
  257. package/dist/esm/src/messages/index.js +2 -38
  258. package/dist/esm/src/messages/index.js.map +1 -1
  259. package/dist/esm/src/overlay-tools/LookupResolver.js +46 -43
  260. package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
  261. package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js +13 -19
  262. package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
  263. package/dist/esm/src/overlay-tools/SHIPBroadcaster.js +13 -20
  264. package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
  265. package/dist/esm/src/overlay-tools/index.js +5 -28
  266. package/dist/esm/src/overlay-tools/index.js.map +1 -1
  267. package/dist/esm/src/primitives/AESGCM.js +27 -39
  268. package/dist/esm/src/primitives/AESGCM.js.map +1 -1
  269. package/dist/esm/src/primitives/BasePoint.js +3 -9
  270. package/dist/esm/src/primitives/BasePoint.js.map +1 -1
  271. package/dist/esm/src/primitives/BigNumber.js +6 -8
  272. package/dist/esm/src/primitives/BigNumber.js.map +1 -1
  273. package/dist/esm/src/primitives/Curve.js +70 -43
  274. package/dist/esm/src/primitives/Curve.js.map +1 -1
  275. package/dist/esm/src/primitives/DRBG.js +7 -10
  276. package/dist/esm/src/primitives/DRBG.js.map +1 -1
  277. package/dist/esm/src/primitives/ECDSA.js +72 -65
  278. package/dist/esm/src/primitives/ECDSA.js.map +1 -1
  279. package/dist/esm/src/primitives/Hash.js +131 -141
  280. package/dist/esm/src/primitives/Hash.js.map +1 -1
  281. package/dist/esm/src/primitives/JacobianPoint.js +24 -21
  282. package/dist/esm/src/primitives/JacobianPoint.js.map +1 -1
  283. package/dist/esm/src/primitives/K256.js +2 -8
  284. package/dist/esm/src/primitives/K256.js.map +1 -1
  285. package/dist/esm/src/primitives/Mersenne.js +5 -11
  286. package/dist/esm/src/primitives/Mersenne.js.map +1 -1
  287. package/dist/esm/src/primitives/MontgomoryMethod.js +5 -11
  288. package/dist/esm/src/primitives/MontgomoryMethod.js.map +1 -1
  289. package/dist/esm/src/primitives/Point.js +104 -93
  290. package/dist/esm/src/primitives/Point.js.map +1 -1
  291. package/dist/esm/src/primitives/Polynomial.js +16 -24
  292. package/dist/esm/src/primitives/Polynomial.js.map +1 -1
  293. package/dist/esm/src/primitives/PrivateKey.js +42 -83
  294. package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
  295. package/dist/esm/src/primitives/PublicKey.js +23 -29
  296. package/dist/esm/src/primitives/PublicKey.js.map +1 -1
  297. package/dist/esm/src/primitives/Random.js +4 -5
  298. package/dist/esm/src/primitives/Random.js.map +1 -1
  299. package/dist/esm/src/primitives/ReductionContext.js +11 -17
  300. package/dist/esm/src/primitives/ReductionContext.js.map +1 -1
  301. package/dist/esm/src/primitives/Schnorr.js +9 -15
  302. package/dist/esm/src/primitives/Schnorr.js.map +1 -1
  303. package/dist/esm/src/primitives/Signature.js +24 -30
  304. package/dist/esm/src/primitives/Signature.js.map +1 -1
  305. package/dist/esm/src/primitives/SymmetricKey.js +13 -19
  306. package/dist/esm/src/primitives/SymmetricKey.js.map +1 -1
  307. package/dist/esm/src/primitives/TransactionSignature.js +29 -60
  308. package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
  309. package/dist/esm/src/primitives/index.js +14 -66
  310. package/dist/esm/src/primitives/index.js.map +1 -1
  311. package/dist/esm/src/primitives/utils.js +55 -74
  312. package/dist/esm/src/primitives/utils.js.map +1 -1
  313. package/dist/esm/src/script/LockingScript.js +2 -8
  314. package/dist/esm/src/script/LockingScript.js.map +1 -1
  315. package/dist/esm/src/script/OP.js +4 -6
  316. package/dist/esm/src/script/OP.js.map +1 -1
  317. package/dist/esm/src/script/Script.js +48 -54
  318. package/dist/esm/src/script/Script.js.map +1 -1
  319. package/dist/esm/src/script/ScriptChunk.js +1 -2
  320. package/dist/esm/src/script/ScriptTemplate.js +1 -2
  321. package/dist/esm/src/script/Spend.js +297 -334
  322. package/dist/esm/src/script/Spend.js.map +1 -1
  323. package/dist/esm/src/script/UnlockingScript.js +2 -8
  324. package/dist/esm/src/script/UnlockingScript.js.map +1 -1
  325. package/dist/esm/src/script/index.js +6 -31
  326. package/dist/esm/src/script/index.js.map +1 -1
  327. package/dist/esm/src/script/templates/P2PKH.js +53 -51
  328. package/dist/esm/src/script/templates/P2PKH.js.map +1 -1
  329. package/dist/esm/src/script/templates/PushDrop.js +54 -52
  330. package/dist/esm/src/script/templates/PushDrop.js.map +1 -1
  331. package/dist/esm/src/script/templates/RPuzzle.js +51 -55
  332. package/dist/esm/src/script/templates/RPuzzle.js.map +1 -1
  333. package/dist/esm/src/script/templates/index.js +3 -12
  334. package/dist/esm/src/script/templates/index.js.map +1 -1
  335. package/dist/esm/src/totp/index.js +1 -17
  336. package/dist/esm/src/totp/index.js.map +1 -1
  337. package/dist/esm/src/totp/totp.js +10 -16
  338. package/dist/esm/src/totp/totp.js.map +1 -1
  339. package/dist/esm/src/transaction/Beef.js +89 -86
  340. package/dist/esm/src/transaction/Beef.js.map +1 -1
  341. package/dist/esm/src/transaction/BeefParty.js +6 -10
  342. package/dist/esm/src/transaction/BeefParty.js.map +1 -1
  343. package/dist/esm/src/transaction/BeefTx.js +40 -40
  344. package/dist/esm/src/transaction/BeefTx.js.map +1 -1
  345. package/dist/esm/src/transaction/Broadcaster.js +2 -6
  346. package/dist/esm/src/transaction/Broadcaster.js.map +1 -1
  347. package/dist/esm/src/transaction/ChainTracker.js +1 -2
  348. package/dist/esm/src/transaction/FeeModel.js +1 -2
  349. package/dist/esm/src/transaction/MerklePath.js +58 -41
  350. package/dist/esm/src/transaction/MerklePath.js.map +1 -1
  351. package/dist/esm/src/transaction/Transaction.js +121 -92
  352. package/dist/esm/src/transaction/Transaction.js.map +1 -1
  353. package/dist/esm/src/transaction/TransactionInput.js +1 -2
  354. package/dist/esm/src/transaction/TransactionOutput.js +1 -2
  355. package/dist/esm/src/transaction/broadcasters/ARC.js +49 -50
  356. package/dist/esm/src/transaction/broadcasters/ARC.js.map +1 -1
  357. package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js +3 -9
  358. package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
  359. package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js +16 -19
  360. package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
  361. package/dist/esm/src/transaction/broadcasters/index.js +3 -12
  362. package/dist/esm/src/transaction/broadcasters/index.js.map +1 -1
  363. package/dist/esm/src/transaction/chaintrackers/DefaultChainTracker.js +3 -9
  364. package/dist/esm/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
  365. package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js +12 -15
  366. package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
  367. package/dist/esm/src/transaction/chaintrackers/index.js +2 -10
  368. package/dist/esm/src/transaction/chaintrackers/index.js.map +1 -1
  369. package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js +4 -7
  370. package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
  371. package/dist/esm/src/transaction/fee-models/index.js +1 -8
  372. package/dist/esm/src/transaction/fee-models/index.js.map +1 -1
  373. package/dist/esm/src/transaction/http/DefaultHttpClient.js +11 -13
  374. package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
  375. package/dist/esm/src/transaction/http/FetchHttpClient.js +2 -6
  376. package/dist/esm/src/transaction/http/FetchHttpClient.js.map +1 -1
  377. package/dist/esm/src/transaction/http/HttpClient.js +1 -2
  378. package/dist/esm/src/transaction/http/NodejsHttpClient.js +9 -13
  379. package/dist/esm/src/transaction/http/NodejsHttpClient.js.map +1 -1
  380. package/dist/esm/src/transaction/http/index.js +3 -9
  381. package/dist/esm/src/transaction/http/index.js.map +1 -1
  382. package/dist/esm/src/transaction/index.js +6 -32
  383. package/dist/esm/src/transaction/index.js.map +1 -1
  384. package/dist/esm/src/wallet/CachedKeyDeriver.js +35 -15
  385. package/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -1
  386. package/dist/esm/src/wallet/KeyDeriver.js +11 -15
  387. package/dist/esm/src/wallet/KeyDeriver.js.map +1 -1
  388. package/dist/esm/src/wallet/ProtoWallet.js +66 -37
  389. package/dist/esm/src/wallet/ProtoWallet.js.map +1 -1
  390. package/dist/esm/src/wallet/Wallet.interfaces.js +2 -5
  391. package/dist/esm/src/wallet/Wallet.interfaces.js.map +1 -1
  392. package/dist/esm/src/wallet/WalletClient.js +19 -21
  393. package/dist/esm/src/wallet/WalletClient.js.map +1 -1
  394. package/dist/esm/src/wallet/WalletError.js +4 -8
  395. package/dist/esm/src/wallet/WalletError.js.map +1 -1
  396. package/dist/esm/src/wallet/index.js +8 -32
  397. package/dist/esm/src/wallet/index.js.map +1 -1
  398. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +3 -6
  399. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  400. package/dist/esm/src/wallet/substrates/HTTPWalletWire.js +12 -18
  401. package/dist/esm/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
  402. package/dist/esm/src/wallet/substrates/WalletWire.js +1 -2
  403. package/dist/esm/src/wallet/substrates/WalletWireCalls.js +1 -3
  404. package/dist/esm/src/wallet/substrates/WalletWireCalls.js.map +1 -1
  405. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js +240 -245
  406. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  407. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +305 -307
  408. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  409. package/dist/esm/src/wallet/substrates/XDM.js +10 -11
  410. package/dist/esm/src/wallet/substrates/XDM.js.map +1 -1
  411. package/dist/esm/src/wallet/substrates/index.js +7 -32
  412. package/dist/esm/src/wallet/substrates/index.js.map +1 -1
  413. package/dist/esm/src/wallet/substrates/window.CWI.js +33 -36
  414. package/dist/esm/src/wallet/substrates/window.CWI.js.map +1 -1
  415. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  416. package/dist/types/mod.d.ts +15 -15
  417. package/dist/types/mod.d.ts.map +1 -1
  418. package/dist/types/src/auth/Peer.d.ts +4 -4
  419. package/dist/types/src/auth/Peer.d.ts.map +1 -1
  420. package/dist/types/src/auth/SessionManager.d.ts +1 -1
  421. package/dist/types/src/auth/SessionManager.d.ts.map +1 -1
  422. package/dist/types/src/auth/certificates/Certificate.d.ts +6 -6
  423. package/dist/types/src/auth/certificates/Certificate.d.ts.map +1 -1
  424. package/dist/types/src/auth/certificates/MasterCertificate.d.ts +6 -6
  425. package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -1
  426. package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts +2 -2
  427. package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts.map +1 -1
  428. package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts +23 -22
  429. package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts.map +1 -1
  430. package/dist/types/src/auth/certificates/index.d.ts +4 -4
  431. package/dist/types/src/auth/certificates/index.d.ts.map +1 -1
  432. package/dist/types/src/auth/clients/AuthFetch.d.ts +9 -9
  433. package/dist/types/src/auth/clients/AuthFetch.d.ts.map +1 -1
  434. package/dist/types/src/auth/clients/index.d.ts +1 -1
  435. package/dist/types/src/auth/clients/index.d.ts.map +1 -1
  436. package/dist/types/src/auth/index.d.ts +7 -7
  437. package/dist/types/src/auth/index.d.ts.map +1 -1
  438. package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts +1 -1
  439. package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts.map +1 -1
  440. package/dist/types/src/auth/transports/index.d.ts +1 -1
  441. package/dist/types/src/auth/transports/index.d.ts.map +1 -1
  442. package/dist/types/src/auth/types.d.ts +1 -1
  443. package/dist/types/src/auth/types.d.ts.map +1 -1
  444. package/dist/types/src/auth/utils/createNonce.d.ts +1 -1
  445. package/dist/types/src/auth/utils/createNonce.d.ts.map +1 -1
  446. package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts +3 -3
  447. package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts.map +1 -1
  448. package/dist/types/src/auth/utils/index.d.ts +4 -4
  449. package/dist/types/src/auth/utils/index.d.ts.map +1 -1
  450. package/dist/types/src/auth/utils/validateCertificates.d.ts +2 -2
  451. package/dist/types/src/auth/utils/validateCertificates.d.ts.map +1 -1
  452. package/dist/types/src/auth/utils/verifyNonce.d.ts +1 -1
  453. package/dist/types/src/auth/utils/verifyNonce.d.ts.map +1 -1
  454. package/dist/types/src/compat/BSM.d.ts +4 -4
  455. package/dist/types/src/compat/BSM.d.ts.map +1 -1
  456. package/dist/types/src/compat/ECIES.d.ts +2 -2
  457. package/dist/types/src/compat/ECIES.d.ts.map +1 -1
  458. package/dist/types/src/compat/HD.d.ts +2 -2
  459. package/dist/types/src/compat/HD.d.ts.map +1 -1
  460. package/dist/types/src/compat/Mnemonic.d.ts.map +1 -1
  461. package/dist/types/src/compat/Utxo.d.ts +3 -3
  462. package/dist/types/src/compat/Utxo.d.ts.map +1 -1
  463. package/dist/types/src/compat/index.d.ts +5 -5
  464. package/dist/types/src/compat/index.d.ts.map +1 -1
  465. package/dist/types/src/messages/EncryptedMessage.d.ts +2 -2
  466. package/dist/types/src/messages/EncryptedMessage.d.ts.map +1 -1
  467. package/dist/types/src/messages/SignedMessage.d.ts +2 -2
  468. package/dist/types/src/messages/SignedMessage.d.ts.map +1 -1
  469. package/dist/types/src/messages/index.d.ts +2 -2
  470. package/dist/types/src/messages/index.d.ts.map +1 -1
  471. package/dist/types/src/overlay-tools/LookupResolver.d.ts.map +1 -1
  472. package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts +4 -4
  473. package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts.map +1 -1
  474. package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts +2 -2
  475. package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts.map +1 -1
  476. package/dist/types/src/overlay-tools/index.d.ts +5 -5
  477. package/dist/types/src/overlay-tools/index.d.ts.map +1 -1
  478. package/dist/types/src/primitives/AESGCM.d.ts.map +1 -1
  479. package/dist/types/src/primitives/BasePoint.d.ts +9 -9
  480. package/dist/types/src/primitives/BasePoint.d.ts.map +1 -1
  481. package/dist/types/src/primitives/BigNumber.d.ts +1 -1
  482. package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
  483. package/dist/types/src/primitives/Curve.d.ts +17 -10
  484. package/dist/types/src/primitives/Curve.d.ts.map +1 -1
  485. package/dist/types/src/primitives/DRBG.d.ts +1 -1
  486. package/dist/types/src/primitives/DRBG.d.ts.map +1 -1
  487. package/dist/types/src/primitives/ECDSA.d.ts +4 -4
  488. package/dist/types/src/primitives/ECDSA.d.ts.map +1 -1
  489. package/dist/types/src/primitives/Hash.d.ts +11 -11
  490. package/dist/types/src/primitives/Hash.d.ts.map +1 -1
  491. package/dist/types/src/primitives/JacobianPoint.d.ts +3 -3
  492. package/dist/types/src/primitives/JacobianPoint.d.ts.map +1 -1
  493. package/dist/types/src/primitives/K256.d.ts +2 -2
  494. package/dist/types/src/primitives/K256.d.ts.map +1 -1
  495. package/dist/types/src/primitives/Mersenne.d.ts +1 -1
  496. package/dist/types/src/primitives/Mersenne.d.ts.map +1 -1
  497. package/dist/types/src/primitives/MontgomoryMethod.d.ts +2 -2
  498. package/dist/types/src/primitives/MontgomoryMethod.d.ts.map +1 -1
  499. package/dist/types/src/primitives/Point.d.ts +3 -3
  500. package/dist/types/src/primitives/Point.d.ts.map +1 -1
  501. package/dist/types/src/primitives/Polynomial.d.ts +2 -2
  502. package/dist/types/src/primitives/Polynomial.d.ts.map +1 -1
  503. package/dist/types/src/primitives/PrivateKey.d.ts +7 -7
  504. package/dist/types/src/primitives/PrivateKey.d.ts.map +1 -1
  505. package/dist/types/src/primitives/PublicKey.d.ts +4 -4
  506. package/dist/types/src/primitives/PublicKey.d.ts.map +1 -1
  507. package/dist/types/src/primitives/Random.d.ts.map +1 -1
  508. package/dist/types/src/primitives/ReductionContext.d.ts +2 -2
  509. package/dist/types/src/primitives/ReductionContext.d.ts.map +1 -1
  510. package/dist/types/src/primitives/Schnorr.d.ts +3 -3
  511. package/dist/types/src/primitives/Schnorr.d.ts.map +1 -1
  512. package/dist/types/src/primitives/Signature.d.ts +3 -3
  513. package/dist/types/src/primitives/Signature.d.ts.map +1 -1
  514. package/dist/types/src/primitives/SymmetricKey.d.ts +1 -1
  515. package/dist/types/src/primitives/SymmetricKey.d.ts.map +1 -1
  516. package/dist/types/src/primitives/TransactionSignature.d.ts +5 -5
  517. package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
  518. package/dist/types/src/primitives/index.d.ts +14 -14
  519. package/dist/types/src/primitives/index.d.ts.map +1 -1
  520. package/dist/types/src/primitives/utils.d.ts +4 -7
  521. package/dist/types/src/primitives/utils.d.ts.map +1 -1
  522. package/dist/types/src/script/LockingScript.d.ts +1 -1
  523. package/dist/types/src/script/LockingScript.d.ts.map +1 -1
  524. package/dist/types/src/script/Script.d.ts +2 -2
  525. package/dist/types/src/script/Script.d.ts.map +1 -1
  526. package/dist/types/src/script/ScriptTemplate.d.ts +5 -5
  527. package/dist/types/src/script/ScriptTemplate.d.ts.map +1 -1
  528. package/dist/types/src/script/Spend.d.ts +4 -4
  529. package/dist/types/src/script/Spend.d.ts.map +1 -1
  530. package/dist/types/src/script/UnlockingScript.d.ts +1 -1
  531. package/dist/types/src/script/UnlockingScript.d.ts.map +1 -1
  532. package/dist/types/src/script/index.d.ts +7 -7
  533. package/dist/types/src/script/index.d.ts.map +1 -1
  534. package/dist/types/src/script/templates/P2PKH.d.ts +7 -7
  535. package/dist/types/src/script/templates/P2PKH.d.ts.map +1 -1
  536. package/dist/types/src/script/templates/PushDrop.d.ts +6 -7
  537. package/dist/types/src/script/templates/PushDrop.d.ts.map +1 -1
  538. package/dist/types/src/script/templates/RPuzzle.d.ts +9 -9
  539. package/dist/types/src/script/templates/RPuzzle.d.ts.map +1 -1
  540. package/dist/types/src/script/templates/index.d.ts +3 -3
  541. package/dist/types/src/script/templates/index.d.ts.map +1 -1
  542. package/dist/types/src/totp/index.d.ts +1 -1
  543. package/dist/types/src/totp/index.d.ts.map +1 -1
  544. package/dist/types/src/totp/totp.d.ts.map +1 -1
  545. package/dist/types/src/transaction/Beef.d.ts +10 -10
  546. package/dist/types/src/transaction/Beef.d.ts.map +1 -1
  547. package/dist/types/src/transaction/BeefParty.d.ts +1 -1
  548. package/dist/types/src/transaction/BeefParty.d.ts.map +1 -1
  549. package/dist/types/src/transaction/BeefTx.d.ts +4 -4
  550. package/dist/types/src/transaction/BeefTx.d.ts.map +1 -1
  551. package/dist/types/src/transaction/Broadcaster.d.ts +1 -1
  552. package/dist/types/src/transaction/Broadcaster.d.ts.map +1 -1
  553. package/dist/types/src/transaction/FeeModel.d.ts +1 -1
  554. package/dist/types/src/transaction/FeeModel.d.ts.map +1 -1
  555. package/dist/types/src/transaction/MerklePath.d.ts +2 -2
  556. package/dist/types/src/transaction/MerklePath.d.ts.map +1 -1
  557. package/dist/types/src/transaction/Transaction.d.ts +7 -7
  558. package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
  559. package/dist/types/src/transaction/TransactionInput.d.ts +2 -2
  560. package/dist/types/src/transaction/TransactionInput.d.ts.map +1 -1
  561. package/dist/types/src/transaction/TransactionOutput.d.ts +1 -1
  562. package/dist/types/src/transaction/TransactionOutput.d.ts.map +1 -1
  563. package/dist/types/src/transaction/broadcasters/ARC.d.ts +4 -4
  564. package/dist/types/src/transaction/broadcasters/ARC.d.ts.map +1 -1
  565. package/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts +2 -2
  566. package/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts.map +1 -1
  567. package/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts +4 -4
  568. package/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts.map +1 -1
  569. package/dist/types/src/transaction/broadcasters/index.d.ts +4 -4
  570. package/dist/types/src/transaction/broadcasters/index.d.ts.map +1 -1
  571. package/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts +1 -1
  572. package/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts.map +1 -1
  573. package/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts +3 -3
  574. package/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts.map +1 -1
  575. package/dist/types/src/transaction/chaintrackers/index.d.ts +3 -3
  576. package/dist/types/src/transaction/chaintrackers/index.d.ts.map +1 -1
  577. package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts +2 -2
  578. package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts.map +1 -1
  579. package/dist/types/src/transaction/fee-models/index.d.ts +1 -1
  580. package/dist/types/src/transaction/fee-models/index.d.ts.map +1 -1
  581. package/dist/types/src/transaction/http/DefaultHttpClient.d.ts +1 -1
  582. package/dist/types/src/transaction/http/DefaultHttpClient.d.ts.map +1 -1
  583. package/dist/types/src/transaction/http/FetchHttpClient.d.ts +1 -1
  584. package/dist/types/src/transaction/http/FetchHttpClient.d.ts.map +1 -1
  585. package/dist/types/src/transaction/http/HttpClient.d.ts.map +1 -1
  586. package/dist/types/src/transaction/http/NodejsHttpClient.d.ts +1 -1
  587. package/dist/types/src/transaction/http/NodejsHttpClient.d.ts.map +1 -1
  588. package/dist/types/src/transaction/http/index.d.ts +6 -6
  589. package/dist/types/src/transaction/http/index.d.ts.map +1 -1
  590. package/dist/types/src/transaction/index.d.ts +10 -10
  591. package/dist/types/src/transaction/index.d.ts.map +1 -1
  592. package/dist/types/src/wallet/CachedKeyDeriver.d.ts +3 -3
  593. package/dist/types/src/wallet/CachedKeyDeriver.d.ts.map +1 -1
  594. package/dist/types/src/wallet/KeyDeriver.d.ts +2 -2
  595. package/dist/types/src/wallet/KeyDeriver.d.ts.map +1 -1
  596. package/dist/types/src/wallet/ProtoWallet.d.ts +12 -12
  597. package/dist/types/src/wallet/ProtoWallet.d.ts.map +1 -1
  598. package/dist/types/src/wallet/Wallet.interfaces.d.ts +7 -8
  599. package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
  600. package/dist/types/src/wallet/WalletClient.d.ts +6 -6
  601. package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
  602. package/dist/types/src/wallet/index.d.ts +8 -8
  603. package/dist/types/src/wallet/index.d.ts.map +1 -1
  604. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts +7 -7
  605. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
  606. package/dist/types/src/wallet/substrates/HTTPWalletWire.d.ts +1 -1
  607. package/dist/types/src/wallet/substrates/HTTPWalletWire.d.ts.map +1 -1
  608. package/dist/types/src/wallet/substrates/WalletWire.d.ts.map +1 -1
  609. package/dist/types/src/wallet/substrates/WalletWireCalls.d.ts.map +1 -1
  610. package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts +2 -2
  611. package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts.map +1 -1
  612. package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts +10 -10
  613. package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts.map +1 -1
  614. package/dist/types/src/wallet/substrates/XDM.d.ts +2 -2
  615. package/dist/types/src/wallet/substrates/XDM.d.ts.map +1 -1
  616. package/dist/types/src/wallet/substrates/index.d.ts +7 -7
  617. package/dist/types/src/wallet/substrates/index.d.ts.map +1 -1
  618. package/dist/types/src/wallet/substrates/window.CWI.d.ts +25 -25
  619. package/dist/types/src/wallet/substrates/window.CWI.d.ts.map +1 -1
  620. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  621. package/dist/umd/bundle.js +1 -1
  622. package/docs/auth.md +43 -37
  623. package/docs/primitives.md +97 -73
  624. package/docs/script.md +4 -4
  625. package/docs/swagger/dist/swagger-initializer.js +7 -7
  626. package/docs/swagger/dist/swagger-ui-bundle.js +1 -1
  627. package/docs/swagger/dist/swagger-ui-es-bundle-core.js +2 -2
  628. package/docs/swagger/dist/swagger-ui-es-bundle.js +1 -1
  629. package/docs/swagger/dist/swagger-ui-standalone-preset.js +1 -1
  630. package/docs/swagger/dist/swagger-ui.js +2 -2
  631. package/docs/transaction.md +27 -27
  632. package/docs/wallet-substrates.md +13 -13
  633. package/docs/wallet.md +80 -82
  634. package/mod.ts +15 -15
  635. package/package.json +7 -3
  636. package/src/auth/Peer.ts +75 -70
  637. package/src/auth/SessionManager.ts +11 -6
  638. package/src/auth/__tests/Peer.test.ts +141 -114
  639. package/src/auth/__tests/SessionManager.test.ts +67 -19
  640. package/src/auth/__tests/build.test.ts +11 -0
  641. package/src/auth/certificates/Certificate.ts +15 -12
  642. package/src/auth/certificates/MasterCertificate.ts +24 -33
  643. package/src/auth/certificates/VerifiableCertificate.ts +6 -4
  644. package/src/auth/certificates/__tests/Certificate.test.ts +140 -139
  645. package/src/auth/certificates/__tests/CompletedProtoWallet.ts +88 -74
  646. package/src/auth/certificates/__tests/MasterCertificate.test.ts +7 -15
  647. package/src/auth/certificates/__tests/VerifiableCertificate.test.ts +1 -6
  648. package/src/auth/certificates/index.ts +4 -4
  649. package/src/auth/clients/AuthFetch.ts +232 -316
  650. package/src/auth/clients/index.ts +1 -1
  651. package/src/auth/index.ts +7 -7
  652. package/src/auth/transports/SimplifiedFetchTransport.ts +185 -154
  653. package/src/auth/transports/index.ts +1 -1
  654. package/src/auth/types.ts +1 -1
  655. package/src/auth/utils/__tests/cryptononce.test.ts +7 -5
  656. package/src/auth/utils/__tests/getVerifiableCertificates.test.ts +12 -12
  657. package/src/auth/utils/__tests/validateCertificates.test.ts +113 -103
  658. package/src/auth/utils/createNonce.ts +1 -1
  659. package/src/auth/utils/getVerifiableCertificates.ts +4 -4
  660. package/src/auth/utils/index.ts +4 -4
  661. package/src/auth/utils/validateCertificates.ts +9 -5
  662. package/src/auth/utils/verifyNonce.ts +1 -1
  663. package/src/compat/BSM.ts +7 -7
  664. package/src/compat/ECIES.ts +38 -30
  665. package/src/compat/HD.ts +12 -13
  666. package/src/compat/Mnemonic.ts +16 -14
  667. package/src/compat/Utxo.ts +4 -4
  668. package/src/compat/__tests/BSM.test.ts +5 -6
  669. package/src/compat/__tests/HD.test.ts +6 -4
  670. package/src/compat/__tests/Mnemonic.test.ts +144 -145
  671. package/src/compat/__tests/Mnemonic.vectors.ts +110 -55
  672. package/src/compat/index.ts +5 -5
  673. package/src/messages/EncryptedMessage.ts +5 -5
  674. package/src/messages/SignedMessage.ts +7 -6
  675. package/src/messages/__tests/EncryptedMessage.test.ts +39 -39
  676. package/src/messages/__tests/SignedMessage.test.ts +49 -49
  677. package/src/messages/index.ts +2 -2
  678. package/src/overlay-tools/LookupResolver.ts +52 -32
  679. package/src/overlay-tools/OverlayAdminTokenTemplate.ts +9 -5
  680. package/src/overlay-tools/SHIPBroadcaster.ts +8 -7
  681. package/src/overlay-tools/index.ts +5 -5
  682. package/src/primitives/AESGCM.ts +2 -0
  683. package/src/primitives/BasePoint.ts +5 -5
  684. package/src/primitives/BigNumber.ts +8 -6
  685. package/src/primitives/Curve.ts +79 -27
  686. package/src/primitives/DRBG.ts +3 -3
  687. package/src/primitives/ECDSA.ts +62 -42
  688. package/src/primitives/Hash.ts +215 -163
  689. package/src/primitives/JacobianPoint.ts +19 -5
  690. package/src/primitives/K256.ts +2 -2
  691. package/src/primitives/Mersenne.ts +1 -1
  692. package/src/primitives/MontgomoryMethod.ts +2 -2
  693. package/src/primitives/Point.ts +98 -76
  694. package/src/primitives/Polynomial.ts +6 -6
  695. package/src/primitives/PrivateKey.ts +24 -24
  696. package/src/primitives/PublicKey.ts +8 -8
  697. package/src/primitives/Random.ts +7 -3
  698. package/src/primitives/ReductionContext.ts +3 -3
  699. package/src/primitives/Schnorr.ts +5 -5
  700. package/src/primitives/Signature.ts +14 -12
  701. package/src/primitives/SymmetricKey.ts +5 -5
  702. package/src/primitives/TransactionSignature.ts +26 -13
  703. package/src/primitives/__tests/AESGCM.test.ts +403 -403
  704. package/src/primitives/__tests/BRC42.private.vectors.ts +30 -15
  705. package/src/primitives/__tests/BRC42.public.vectors.ts +30 -15
  706. package/src/primitives/__tests/BigNumber.arithmatic.test.ts +563 -563
  707. package/src/primitives/__tests/BigNumber.binary.test.ts +211 -211
  708. package/src/primitives/__tests/BigNumber.constructor.test.ts +8 -4
  709. package/src/primitives/__tests/BigNumber.dhGroup.test.ts +15 -15
  710. package/src/primitives/__tests/BigNumber.fixtures.ts +16 -8
  711. package/src/primitives/__tests/BigNumber.serializers.test.ts +169 -169
  712. package/src/primitives/__tests/BigNumber.utils.test.ts +328 -328
  713. package/src/primitives/__tests/Curve.unit.test.ts +152 -145
  714. package/src/primitives/__tests/DRBG.test.ts +13 -13
  715. package/src/primitives/__tests/DRBG.vectors.ts +45 -75
  716. package/src/primitives/__tests/ECDSA.test.ts +51 -51
  717. package/src/primitives/__tests/HMAC.test.ts +46 -46
  718. package/src/primitives/__tests/Hash.test.ts +83 -83
  719. package/src/primitives/__tests/PBKDF2.vectors.ts +130 -117
  720. package/src/primitives/__tests/PrivateKey.split.test.ts +6 -4
  721. package/src/primitives/__tests/PrivateKey.test.ts +53 -55
  722. package/src/primitives/__tests/PublicKey.test.ts +59 -57
  723. package/src/primitives/__tests/Random.test.ts +10 -10
  724. package/src/primitives/__tests/ReductionContext.test.ts +222 -222
  725. package/src/primitives/__tests/Schnorr.test.ts +150 -148
  726. package/src/primitives/__tests/SymmetricKey.test.ts +44 -44
  727. package/src/primitives/__tests/SymmetricKey.vectors.ts +16 -8
  728. package/src/primitives/__tests/bug-31.test.ts +23 -29
  729. package/src/primitives/__tests/utils.test.ts +1 -1
  730. package/src/primitives/index.ts +14 -14
  731. package/src/primitives/utils.ts +25 -26
  732. package/src/script/LockingScript.ts +1 -1
  733. package/src/script/Script.ts +13 -11
  734. package/src/script/ScriptTemplate.ts +5 -5
  735. package/src/script/Spend.ts +27 -25
  736. package/src/script/UnlockingScript.ts +1 -1
  737. package/src/script/__tests/Script.test.ts +7 -3
  738. package/src/script/__tests/Spend.test.ts +23 -18
  739. package/src/script/__tests/SpendComplex.test.ts +27 -31
  740. package/src/script/__tests/script.invalid.vectors.ts +428 -1796
  741. package/src/script/__tests/script.valid.vectors.ts +1064 -1064
  742. package/src/script/index.ts +7 -7
  743. package/src/script/templates/P2PKH.ts +72 -61
  744. package/src/script/templates/PushDrop.ts +101 -95
  745. package/src/script/templates/RPuzzle.ts +65 -62
  746. package/src/script/templates/__tests/PushDrop.test.ts +2 -3
  747. package/src/script/templates/index.ts +3 -3
  748. package/src/totp/__tests/totp.test.ts +12 -11
  749. package/src/totp/index.ts +1 -1
  750. package/src/totp/totp.ts +5 -4
  751. package/src/transaction/Beef.ts +84 -59
  752. package/src/transaction/BeefParty.ts +9 -7
  753. package/src/transaction/BeefTx.ts +32 -26
  754. package/src/transaction/Broadcaster.ts +1 -1
  755. package/src/transaction/FeeModel.ts +1 -2
  756. package/src/transaction/MerklePath.ts +58 -37
  757. package/src/transaction/Transaction.ts +127 -103
  758. package/src/transaction/TransactionInput.ts +2 -2
  759. package/src/transaction/TransactionOutput.ts +1 -2
  760. package/src/transaction/__tests/Beef.test.ts +109 -68
  761. package/src/transaction/__tests/MerklePath.test.ts +132 -131
  762. package/src/transaction/__tests/Transaction.benchmarks.test.ts +10 -13
  763. package/src/transaction/__tests/Transaction.test.ts +20 -31
  764. package/src/transaction/__tests/bigtx.vectors.ts +2 -1
  765. package/src/transaction/__tests/bump.invalid.vectors.ts +24 -6
  766. package/src/transaction/__tests/bump.valid.vectors.ts +6 -2
  767. package/src/transaction/__tests/tx.invalid.vectors.ts +881 -185
  768. package/src/transaction/__tests/tx.valid.vectors.ts +1210 -257
  769. package/src/transaction/broadcasters/ARC.ts +117 -112
  770. package/src/transaction/broadcasters/DefaultBroadcaster.ts +4 -4
  771. package/src/transaction/broadcasters/WhatsOnChainBroadcaster.ts +32 -32
  772. package/src/transaction/broadcasters/__tests/ARC.test.ts +63 -27
  773. package/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.ts +9 -8
  774. package/src/transaction/broadcasters/index.ts +4 -4
  775. package/src/transaction/chaintrackers/DefaultChainTracker.ts +3 -3
  776. package/src/transaction/chaintrackers/WhatsOnChain.ts +39 -38
  777. package/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.ts +99 -99
  778. package/src/transaction/chaintrackers/index.ts +3 -3
  779. package/src/transaction/fee-models/SatoshisPerKilobyte.ts +30 -31
  780. package/src/transaction/fee-models/index.ts +1 -1
  781. package/src/transaction/http/DefaultHttpClient.ts +14 -13
  782. package/src/transaction/http/FetchHttpClient.ts +3 -3
  783. package/src/transaction/http/HttpClient.ts +20 -20
  784. package/src/transaction/http/NodejsHttpClient.ts +27 -27
  785. package/src/transaction/http/index.ts +7 -7
  786. package/src/transaction/index.ts +10 -10
  787. package/src/wallet/CachedKeyDeriver.ts +39 -16
  788. package/src/wallet/KeyDeriver.ts +4 -4
  789. package/src/wallet/ProtoWallet.ts +77 -44
  790. package/src/wallet/Wallet.interfaces.ts +10 -8
  791. package/src/wallet/WalletClient.ts +21 -24
  792. package/src/wallet/WalletError.ts +2 -2
  793. package/src/wallet/__tests/CachedKeyDeriver.test.ts +15 -12
  794. package/src/wallet/__tests/KeyDeriver.test.ts +115 -115
  795. package/src/wallet/__tests/ProtoWallet.test.ts +320 -313
  796. package/src/wallet/index.ts +8 -8
  797. package/src/wallet/substrates/HTTPWalletJSON.ts +54 -40
  798. package/src/wallet/substrates/HTTPWalletWire.ts +27 -27
  799. package/src/wallet/substrates/WalletWire.ts +1 -1
  800. package/src/wallet/substrates/WalletWireCalls.ts +2 -2
  801. package/src/wallet/substrates/WalletWireProcessor.ts +966 -967
  802. package/src/wallet/substrates/WalletWireTransceiver.ts +1012 -1007
  803. package/src/wallet/substrates/XDM.ts +18 -19
  804. package/src/wallet/substrates/__tests/WalletWire.integration.test.ts +6 -4
  805. package/src/wallet/substrates/__tests/XDM.test.ts +343 -341
  806. package/src/wallet/substrates/index.ts +7 -7
  807. package/src/wallet/substrates/window.CWI.ts +330 -330
  808. package/dist/cjs/src/auth/__tests/Peer.test.js +0 -446
  809. package/dist/cjs/src/auth/__tests/Peer.test.js.map +0 -1
  810. package/dist/cjs/src/auth/__tests/SessionManager.test.js +0 -69
  811. package/dist/cjs/src/auth/__tests/SessionManager.test.js.map +0 -1
  812. package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js +0 -182
  813. package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js.map +0 -1
  814. package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js +0 -184
  815. package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js.map +0 -1
  816. package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js +0 -75
  817. package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +0 -1
  818. package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js +0 -101
  819. package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js.map +0 -1
  820. package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js +0 -106
  821. package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +0 -1
  822. package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js +0 -111
  823. package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js.map +0 -1
  824. package/dist/cjs/src/compat/__tests/BSM.test.js +0 -69
  825. package/dist/cjs/src/compat/__tests/BSM.test.js.map +0 -1
  826. package/dist/cjs/src/compat/__tests/ECIES.test.js +0 -115
  827. package/dist/cjs/src/compat/__tests/ECIES.test.js.map +0 -1
  828. package/dist/cjs/src/compat/__tests/HD.test.js +0 -336
  829. package/dist/cjs/src/compat/__tests/HD.test.js.map +0 -1
  830. package/dist/cjs/src/compat/__tests/Mnemonic.test.js +0 -150
  831. package/dist/cjs/src/compat/__tests/Mnemonic.test.js.map +0 -1
  832. package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js +0 -175
  833. package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js.map +0 -1
  834. package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js +0 -57
  835. package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js.map +0 -1
  836. package/dist/cjs/src/messages/__tests/SignedMessage.test.js +0 -52
  837. package/dist/cjs/src/messages/__tests/SignedMessage.test.js.map +0 -1
  838. package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js +0 -1471
  839. package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js.map +0 -1
  840. package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +0 -78
  841. package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +0 -1
  842. package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js +0 -933
  843. package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +0 -1
  844. package/dist/cjs/src/primitives/__tests/AESGCM.test.js +0 -248
  845. package/dist/cjs/src/primitives/__tests/AESGCM.test.js.map +0 -1
  846. package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js +0 -36
  847. package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js.map +0 -1
  848. package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js +0 -36
  849. package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js.map +0 -1
  850. package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js +0 -501
  851. package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js.map +0 -1
  852. package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js +0 -185
  853. package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js.map +0 -1
  854. package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js +0 -149
  855. package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js.map +0 -1
  856. package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js +0 -23
  857. package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js.map +0 -1
  858. package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js +0 -268
  859. package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js.map +0 -1
  860. package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js +0 -147
  861. package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js.map +0 -1
  862. package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js +0 -322
  863. package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js.map +0 -1
  864. package/dist/cjs/src/primitives/__tests/Curve.unit.test.js +0 -145
  865. package/dist/cjs/src/primitives/__tests/Curve.unit.test.js.map +0 -1
  866. package/dist/cjs/src/primitives/__tests/DRBG.test.js +0 -22
  867. package/dist/cjs/src/primitives/__tests/DRBG.test.js.map +0 -1
  868. package/dist/cjs/src/primitives/__tests/DRBG.vectors.js +0 -170
  869. package/dist/cjs/src/primitives/__tests/DRBG.vectors.js.map +0 -1
  870. package/dist/cjs/src/primitives/__tests/ECDH.test.js +0 -34
  871. package/dist/cjs/src/primitives/__tests/ECDH.test.js.map +0 -1
  872. package/dist/cjs/src/primitives/__tests/ECDSA.test.js +0 -89
  873. package/dist/cjs/src/primitives/__tests/ECDSA.test.js.map +0 -1
  874. package/dist/cjs/src/primitives/__tests/HMAC.test.js +0 -60
  875. package/dist/cjs/src/primitives/__tests/HMAC.test.js.map +0 -1
  876. package/dist/cjs/src/primitives/__tests/Hash.test.js +0 -159
  877. package/dist/cjs/src/primitives/__tests/Hash.test.js.map +0 -1
  878. package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js +0 -122
  879. package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js.map +0 -1
  880. package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js +0 -105
  881. package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js.map +0 -1
  882. package/dist/cjs/src/primitives/__tests/PrivateKey.test.js +0 -90
  883. package/dist/cjs/src/primitives/__tests/PrivateKey.test.js.map +0 -1
  884. package/dist/cjs/src/primitives/__tests/PublicKey.test.js +0 -83
  885. package/dist/cjs/src/primitives/__tests/PublicKey.test.js.map +0 -1
  886. package/dist/cjs/src/primitives/__tests/Random.test.js +0 -19
  887. package/dist/cjs/src/primitives/__tests/Random.test.js.map +0 -1
  888. package/dist/cjs/src/primitives/__tests/Reader.test.js +0 -282
  889. package/dist/cjs/src/primitives/__tests/Reader.test.js.map +0 -1
  890. package/dist/cjs/src/primitives/__tests/ReductionContext.test.js +0 -224
  891. package/dist/cjs/src/primitives/__tests/ReductionContext.test.js.map +0 -1
  892. package/dist/cjs/src/primitives/__tests/Schnorr.test.js +0 -213
  893. package/dist/cjs/src/primitives/__tests/Schnorr.test.js.map +0 -1
  894. package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js +0 -51
  895. package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js.map +0 -1
  896. package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js +0 -43
  897. package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js.map +0 -1
  898. package/dist/cjs/src/primitives/__tests/Writer.test.js +0 -176
  899. package/dist/cjs/src/primitives/__tests/Writer.test.js.map +0 -1
  900. package/dist/cjs/src/primitives/__tests/bug-31.test.js +0 -32
  901. package/dist/cjs/src/primitives/__tests/bug-31.test.js.map +0 -1
  902. package/dist/cjs/src/primitives/__tests/sighash.vectors.js +0 -3506
  903. package/dist/cjs/src/primitives/__tests/sighash.vectors.js.map +0 -1
  904. package/dist/cjs/src/primitives/__tests/utils.test.js +0 -110
  905. package/dist/cjs/src/primitives/__tests/utils.test.js.map +0 -1
  906. package/dist/cjs/src/script/__tests/Script.test.js +0 -347
  907. package/dist/cjs/src/script/__tests/Script.test.js.map +0 -1
  908. package/dist/cjs/src/script/__tests/Spend.test.js +0 -282
  909. package/dist/cjs/src/script/__tests/Spend.test.js.map +0 -1
  910. package/dist/cjs/src/script/__tests/SpendComplex.test.js +0 -52
  911. package/dist/cjs/src/script/__tests/SpendComplex.test.js.map +0 -1
  912. package/dist/cjs/src/script/__tests/script.invalid.vectors.js +0 -2370
  913. package/dist/cjs/src/script/__tests/script.invalid.vectors.js.map +0 -1
  914. package/dist/cjs/src/script/__tests/script.valid.vectors.js +0 -1181
  915. package/dist/cjs/src/script/__tests/script.valid.vectors.js.map +0 -1
  916. package/dist/cjs/src/script/__tests/spend.valid.vectors.js +0 -2298
  917. package/dist/cjs/src/script/__tests/spend.valid.vectors.js.map +0 -1
  918. package/dist/cjs/src/script/templates/__tests/PushDrop.test.js +0 -161
  919. package/dist/cjs/src/script/templates/__tests/PushDrop.test.js.map +0 -1
  920. package/dist/cjs/src/totp/__tests/totp.test.js +0 -67
  921. package/dist/cjs/src/totp/__tests/totp.test.js.map +0 -1
  922. package/dist/cjs/src/transaction/__tests/Beef.test.js +0 -393
  923. package/dist/cjs/src/transaction/__tests/Beef.test.js.map +0 -1
  924. package/dist/cjs/src/transaction/__tests/MerklePath.test.js +0 -209
  925. package/dist/cjs/src/transaction/__tests/MerklePath.test.js.map +0 -1
  926. package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js +0 -219
  927. package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js.map +0 -1
  928. package/dist/cjs/src/transaction/__tests/Transaction.test.js +0 -1073
  929. package/dist/cjs/src/transaction/__tests/Transaction.test.js.map +0 -1
  930. package/dist/cjs/src/transaction/__tests/bigtx.vectors.js +0 -7
  931. package/dist/cjs/src/transaction/__tests/bigtx.vectors.js.map +0 -1
  932. package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js +0 -11
  933. package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js.map +0 -1
  934. package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js +0 -7
  935. package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js.map +0 -1
  936. package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js +0 -230
  937. package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js.map +0 -1
  938. package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js +0 -296
  939. package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js.map +0 -1
  940. package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js +0 -246
  941. package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js.map +0 -1
  942. package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +0 -148
  943. package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +0 -1
  944. package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +0 -155
  945. package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +0 -1
  946. package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js +0 -269
  947. package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js.map +0 -1
  948. package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js +0 -114
  949. package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js.map +0 -1
  950. package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js +0 -475
  951. package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js.map +0 -1
  952. package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js +0 -1962
  953. package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +0 -1
  954. package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js +0 -579
  955. package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js.map +0 -1
  956. package/dist/esm/src/auth/__tests/Peer.test.js +0 -448
  957. package/dist/esm/src/auth/__tests/Peer.test.js.map +0 -1
  958. package/dist/esm/src/auth/__tests/SessionManager.test.js +0 -69
  959. package/dist/esm/src/auth/__tests/SessionManager.test.js.map +0 -1
  960. package/dist/esm/src/auth/certificates/__tests/Certificate.test.js +0 -182
  961. package/dist/esm/src/auth/certificates/__tests/Certificate.test.js.map +0 -1
  962. package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js +0 -184
  963. package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js.map +0 -1
  964. package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js +0 -75
  965. package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +0 -1
  966. package/dist/esm/src/auth/utils/__tests/cryptononce.test.js +0 -101
  967. package/dist/esm/src/auth/utils/__tests/cryptononce.test.js.map +0 -1
  968. package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js +0 -106
  969. package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +0 -1
  970. package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js +0 -111
  971. package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js.map +0 -1
  972. package/dist/esm/src/compat/__tests/BSM.test.js +0 -69
  973. package/dist/esm/src/compat/__tests/BSM.test.js.map +0 -1
  974. package/dist/esm/src/compat/__tests/ECIES.test.js +0 -115
  975. package/dist/esm/src/compat/__tests/ECIES.test.js.map +0 -1
  976. package/dist/esm/src/compat/__tests/HD.test.js +0 -336
  977. package/dist/esm/src/compat/__tests/HD.test.js.map +0 -1
  978. package/dist/esm/src/compat/__tests/Mnemonic.test.js +0 -150
  979. package/dist/esm/src/compat/__tests/Mnemonic.test.js.map +0 -1
  980. package/dist/esm/src/compat/__tests/Mnemonic.vectors.js +0 -175
  981. package/dist/esm/src/compat/__tests/Mnemonic.vectors.js.map +0 -1
  982. package/dist/esm/src/messages/__tests/EncryptedMessage.test.js +0 -57
  983. package/dist/esm/src/messages/__tests/EncryptedMessage.test.js.map +0 -1
  984. package/dist/esm/src/messages/__tests/SignedMessage.test.js +0 -52
  985. package/dist/esm/src/messages/__tests/SignedMessage.test.js.map +0 -1
  986. package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js +0 -1471
  987. package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js.map +0 -1
  988. package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +0 -78
  989. package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +0 -1
  990. package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js +0 -933
  991. package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +0 -1
  992. package/dist/esm/src/primitives/__tests/AESGCM.test.js +0 -248
  993. package/dist/esm/src/primitives/__tests/AESGCM.test.js.map +0 -1
  994. package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js +0 -36
  995. package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js.map +0 -1
  996. package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js +0 -36
  997. package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js.map +0 -1
  998. package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js +0 -501
  999. package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js.map +0 -1
  1000. package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js +0 -185
  1001. package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js.map +0 -1
  1002. package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js +0 -149
  1003. package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js.map +0 -1
  1004. package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js +0 -23
  1005. package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js.map +0 -1
  1006. package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js +0 -268
  1007. package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js.map +0 -1
  1008. package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js +0 -147
  1009. package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js.map +0 -1
  1010. package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js +0 -322
  1011. package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js.map +0 -1
  1012. package/dist/esm/src/primitives/__tests/Curve.unit.test.js +0 -145
  1013. package/dist/esm/src/primitives/__tests/Curve.unit.test.js.map +0 -1
  1014. package/dist/esm/src/primitives/__tests/DRBG.test.js +0 -22
  1015. package/dist/esm/src/primitives/__tests/DRBG.test.js.map +0 -1
  1016. package/dist/esm/src/primitives/__tests/DRBG.vectors.js +0 -170
  1017. package/dist/esm/src/primitives/__tests/DRBG.vectors.js.map +0 -1
  1018. package/dist/esm/src/primitives/__tests/ECDH.test.js +0 -34
  1019. package/dist/esm/src/primitives/__tests/ECDH.test.js.map +0 -1
  1020. package/dist/esm/src/primitives/__tests/ECDSA.test.js +0 -89
  1021. package/dist/esm/src/primitives/__tests/ECDSA.test.js.map +0 -1
  1022. package/dist/esm/src/primitives/__tests/HMAC.test.js +0 -60
  1023. package/dist/esm/src/primitives/__tests/HMAC.test.js.map +0 -1
  1024. package/dist/esm/src/primitives/__tests/Hash.test.js +0 -159
  1025. package/dist/esm/src/primitives/__tests/Hash.test.js.map +0 -1
  1026. package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js +0 -122
  1027. package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js.map +0 -1
  1028. package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js +0 -105
  1029. package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js.map +0 -1
  1030. package/dist/esm/src/primitives/__tests/PrivateKey.test.js +0 -90
  1031. package/dist/esm/src/primitives/__tests/PrivateKey.test.js.map +0 -1
  1032. package/dist/esm/src/primitives/__tests/PublicKey.test.js +0 -83
  1033. package/dist/esm/src/primitives/__tests/PublicKey.test.js.map +0 -1
  1034. package/dist/esm/src/primitives/__tests/Random.test.js +0 -19
  1035. package/dist/esm/src/primitives/__tests/Random.test.js.map +0 -1
  1036. package/dist/esm/src/primitives/__tests/Reader.test.js +0 -282
  1037. package/dist/esm/src/primitives/__tests/Reader.test.js.map +0 -1
  1038. package/dist/esm/src/primitives/__tests/ReductionContext.test.js +0 -223
  1039. package/dist/esm/src/primitives/__tests/ReductionContext.test.js.map +0 -1
  1040. package/dist/esm/src/primitives/__tests/Schnorr.test.js +0 -213
  1041. package/dist/esm/src/primitives/__tests/Schnorr.test.js.map +0 -1
  1042. package/dist/esm/src/primitives/__tests/SymmetricKey.test.js +0 -51
  1043. package/dist/esm/src/primitives/__tests/SymmetricKey.test.js.map +0 -1
  1044. package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js +0 -43
  1045. package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js.map +0 -1
  1046. package/dist/esm/src/primitives/__tests/Writer.test.js +0 -176
  1047. package/dist/esm/src/primitives/__tests/Writer.test.js.map +0 -1
  1048. package/dist/esm/src/primitives/__tests/bug-31.test.js +0 -32
  1049. package/dist/esm/src/primitives/__tests/bug-31.test.js.map +0 -1
  1050. package/dist/esm/src/primitives/__tests/sighash.vectors.js +0 -3506
  1051. package/dist/esm/src/primitives/__tests/sighash.vectors.js.map +0 -1
  1052. package/dist/esm/src/primitives/__tests/utils.test.js +0 -110
  1053. package/dist/esm/src/primitives/__tests/utils.test.js.map +0 -1
  1054. package/dist/esm/src/script/__tests/Script.test.js +0 -347
  1055. package/dist/esm/src/script/__tests/Script.test.js.map +0 -1
  1056. package/dist/esm/src/script/__tests/Spend.test.js +0 -282
  1057. package/dist/esm/src/script/__tests/Spend.test.js.map +0 -1
  1058. package/dist/esm/src/script/__tests/SpendComplex.test.js +0 -51
  1059. package/dist/esm/src/script/__tests/SpendComplex.test.js.map +0 -1
  1060. package/dist/esm/src/script/__tests/script.invalid.vectors.js +0 -2370
  1061. package/dist/esm/src/script/__tests/script.invalid.vectors.js.map +0 -1
  1062. package/dist/esm/src/script/__tests/script.valid.vectors.js +0 -1181
  1063. package/dist/esm/src/script/__tests/script.valid.vectors.js.map +0 -1
  1064. package/dist/esm/src/script/__tests/spend.valid.vectors.js +0 -2298
  1065. package/dist/esm/src/script/__tests/spend.valid.vectors.js.map +0 -1
  1066. package/dist/esm/src/script/templates/__tests/PushDrop.test.js +0 -161
  1067. package/dist/esm/src/script/templates/__tests/PushDrop.test.js.map +0 -1
  1068. package/dist/esm/src/totp/__tests/totp.test.js +0 -67
  1069. package/dist/esm/src/totp/__tests/totp.test.js.map +0 -1
  1070. package/dist/esm/src/transaction/__tests/Beef.test.js +0 -393
  1071. package/dist/esm/src/transaction/__tests/Beef.test.js.map +0 -1
  1072. package/dist/esm/src/transaction/__tests/MerklePath.test.js +0 -209
  1073. package/dist/esm/src/transaction/__tests/MerklePath.test.js.map +0 -1
  1074. package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js +0 -219
  1075. package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js.map +0 -1
  1076. package/dist/esm/src/transaction/__tests/Transaction.test.js +0 -1072
  1077. package/dist/esm/src/transaction/__tests/Transaction.test.js.map +0 -1
  1078. package/dist/esm/src/transaction/__tests/bigtx.vectors.js +0 -7
  1079. package/dist/esm/src/transaction/__tests/bigtx.vectors.js.map +0 -1
  1080. package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js +0 -11
  1081. package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js.map +0 -1
  1082. package/dist/esm/src/transaction/__tests/bump.valid.vectors.js +0 -7
  1083. package/dist/esm/src/transaction/__tests/bump.valid.vectors.js.map +0 -1
  1084. package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js +0 -230
  1085. package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js.map +0 -1
  1086. package/dist/esm/src/transaction/__tests/tx.valid.vectors.js +0 -296
  1087. package/dist/esm/src/transaction/__tests/tx.valid.vectors.js.map +0 -1
  1088. package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js +0 -246
  1089. package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js.map +0 -1
  1090. package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +0 -148
  1091. package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +0 -1
  1092. package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +0 -155
  1093. package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +0 -1
  1094. package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js +0 -269
  1095. package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js.map +0 -1
  1096. package/dist/esm/src/wallet/__tests/KeyDeriver.test.js +0 -113
  1097. package/dist/esm/src/wallet/__tests/KeyDeriver.test.js.map +0 -1
  1098. package/dist/esm/src/wallet/__tests/ProtoWallet.test.js +0 -475
  1099. package/dist/esm/src/wallet/__tests/ProtoWallet.test.js.map +0 -1
  1100. package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js +0 -1962
  1101. package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +0 -1
  1102. package/dist/esm/src/wallet/substrates/__tests/XDM.test.js +0 -579
  1103. package/dist/esm/src/wallet/substrates/__tests/XDM.test.js.map +0 -1
  1104. package/dist/types/src/auth/__tests/Peer.test.d.ts +0 -2
  1105. package/dist/types/src/auth/__tests/Peer.test.d.ts.map +0 -1
  1106. package/dist/types/src/auth/__tests/SessionManager.test.d.ts +0 -2
  1107. package/dist/types/src/auth/__tests/SessionManager.test.d.ts.map +0 -1
  1108. package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts +0 -2
  1109. package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts.map +0 -1
  1110. package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts +0 -2
  1111. package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts.map +0 -1
  1112. package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts +0 -2
  1113. package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts.map +0 -1
  1114. package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts +0 -2
  1115. package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts.map +0 -1
  1116. package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts +0 -2
  1117. package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts.map +0 -1
  1118. package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts +0 -2
  1119. package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts.map +0 -1
  1120. package/dist/types/src/compat/__tests/BSM.test.d.ts +0 -2
  1121. package/dist/types/src/compat/__tests/BSM.test.d.ts.map +0 -1
  1122. package/dist/types/src/compat/__tests/ECIES.test.d.ts +0 -2
  1123. package/dist/types/src/compat/__tests/ECIES.test.d.ts.map +0 -1
  1124. package/dist/types/src/compat/__tests/HD.test.d.ts +0 -2
  1125. package/dist/types/src/compat/__tests/HD.test.d.ts.map +0 -1
  1126. package/dist/types/src/compat/__tests/Mnemonic.test.d.ts +0 -2
  1127. package/dist/types/src/compat/__tests/Mnemonic.test.d.ts.map +0 -1
  1128. package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts +0 -11
  1129. package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts.map +0 -1
  1130. package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts +0 -2
  1131. package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts.map +0 -1
  1132. package/dist/types/src/messages/__tests/SignedMessage.test.d.ts +0 -2
  1133. package/dist/types/src/messages/__tests/SignedMessage.test.d.ts.map +0 -1
  1134. package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts +0 -2
  1135. package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts.map +0 -1
  1136. package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts +0 -2
  1137. package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts.map +0 -1
  1138. package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts +0 -2
  1139. package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts.map +0 -1
  1140. package/dist/types/src/primitives/__tests/AESGCM.test.d.ts +0 -2
  1141. package/dist/types/src/primitives/__tests/AESGCM.test.d.ts.map +0 -1
  1142. package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts +0 -8
  1143. package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts.map +0 -1
  1144. package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts +0 -8
  1145. package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts.map +0 -1
  1146. package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts +0 -2
  1147. package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts.map +0 -1
  1148. package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts +0 -2
  1149. package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts.map +0 -1
  1150. package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts +0 -2
  1151. package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts.map +0 -1
  1152. package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts +0 -2
  1153. package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts.map +0 -1
  1154. package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts +0 -15
  1155. package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts.map +0 -1
  1156. package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts +0 -2
  1157. package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts.map +0 -1
  1158. package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts +0 -2
  1159. package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts.map +0 -1
  1160. package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts +0 -2
  1161. package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts.map +0 -1
  1162. package/dist/types/src/primitives/__tests/DRBG.test.d.ts +0 -2
  1163. package/dist/types/src/primitives/__tests/DRBG.test.d.ts.map +0 -1
  1164. package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts +0 -10
  1165. package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts.map +0 -1
  1166. package/dist/types/src/primitives/__tests/ECDH.test.d.ts +0 -2
  1167. package/dist/types/src/primitives/__tests/ECDH.test.d.ts.map +0 -1
  1168. package/dist/types/src/primitives/__tests/ECDSA.test.d.ts +0 -2
  1169. package/dist/types/src/primitives/__tests/ECDSA.test.d.ts.map +0 -1
  1170. package/dist/types/src/primitives/__tests/HMAC.test.d.ts +0 -2
  1171. package/dist/types/src/primitives/__tests/HMAC.test.d.ts.map +0 -1
  1172. package/dist/types/src/primitives/__tests/Hash.test.d.ts +0 -2
  1173. package/dist/types/src/primitives/__tests/Hash.test.d.ts.map +0 -1
  1174. package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts +0 -68
  1175. package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts.map +0 -1
  1176. package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts +0 -2
  1177. package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts.map +0 -1
  1178. package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts +0 -2
  1179. package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts.map +0 -1
  1180. package/dist/types/src/primitives/__tests/PublicKey.test.d.ts +0 -2
  1181. package/dist/types/src/primitives/__tests/PublicKey.test.d.ts.map +0 -1
  1182. package/dist/types/src/primitives/__tests/Random.test.d.ts +0 -2
  1183. package/dist/types/src/primitives/__tests/Random.test.d.ts.map +0 -1
  1184. package/dist/types/src/primitives/__tests/Reader.test.d.ts +0 -2
  1185. package/dist/types/src/primitives/__tests/Reader.test.d.ts.map +0 -1
  1186. package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts +0 -2
  1187. package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts.map +0 -1
  1188. package/dist/types/src/primitives/__tests/Schnorr.test.d.ts +0 -2
  1189. package/dist/types/src/primitives/__tests/Schnorr.test.d.ts.map +0 -1
  1190. package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts +0 -2
  1191. package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts.map +0 -1
  1192. package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts +0 -20
  1193. package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts.map +0 -1
  1194. package/dist/types/src/primitives/__tests/Writer.test.d.ts +0 -2
  1195. package/dist/types/src/primitives/__tests/Writer.test.d.ts.map +0 -1
  1196. package/dist/types/src/primitives/__tests/bug-31.test.d.ts +0 -2
  1197. package/dist/types/src/primitives/__tests/bug-31.test.d.ts.map +0 -1
  1198. package/dist/types/src/primitives/__tests/sighash.vectors.d.ts +0 -3
  1199. package/dist/types/src/primitives/__tests/sighash.vectors.d.ts.map +0 -1
  1200. package/dist/types/src/primitives/__tests/utils.test.d.ts +0 -2
  1201. package/dist/types/src/primitives/__tests/utils.test.d.ts.map +0 -1
  1202. package/dist/types/src/script/__tests/Script.test.d.ts +0 -2
  1203. package/dist/types/src/script/__tests/Script.test.d.ts.map +0 -1
  1204. package/dist/types/src/script/__tests/Spend.test.d.ts +0 -2
  1205. package/dist/types/src/script/__tests/Spend.test.d.ts.map +0 -1
  1206. package/dist/types/src/script/__tests/SpendComplex.test.d.ts +0 -2
  1207. package/dist/types/src/script/__tests/SpendComplex.test.d.ts.map +0 -1
  1208. package/dist/types/src/script/__tests/script.invalid.vectors.d.ts +0 -3
  1209. package/dist/types/src/script/__tests/script.invalid.vectors.d.ts.map +0 -1
  1210. package/dist/types/src/script/__tests/script.valid.vectors.d.ts +0 -3
  1211. package/dist/types/src/script/__tests/script.valid.vectors.d.ts.map +0 -1
  1212. package/dist/types/src/script/__tests/spend.valid.vectors.d.ts +0 -3
  1213. package/dist/types/src/script/__tests/spend.valid.vectors.d.ts.map +0 -1
  1214. package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts +0 -2
  1215. package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts.map +0 -1
  1216. package/dist/types/src/totp/__tests/totp.test.d.ts +0 -2
  1217. package/dist/types/src/totp/__tests/totp.test.d.ts.map +0 -1
  1218. package/dist/types/src/transaction/__tests/Beef.test.d.ts +0 -2
  1219. package/dist/types/src/transaction/__tests/Beef.test.d.ts.map +0 -1
  1220. package/dist/types/src/transaction/__tests/MerklePath.test.d.ts +0 -2
  1221. package/dist/types/src/transaction/__tests/MerklePath.test.d.ts.map +0 -1
  1222. package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts +0 -2
  1223. package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts.map +0 -1
  1224. package/dist/types/src/transaction/__tests/Transaction.test.d.ts +0 -2
  1225. package/dist/types/src/transaction/__tests/Transaction.test.d.ts.map +0 -1
  1226. package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts +0 -6
  1227. package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts.map +0 -1
  1228. package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts +0 -6
  1229. package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts.map +0 -1
  1230. package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts +0 -5
  1231. package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts.map +0 -1
  1232. package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts +0 -3
  1233. package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts.map +0 -1
  1234. package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts +0 -3
  1235. package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts.map +0 -1
  1236. package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts +0 -2
  1237. package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts.map +0 -1
  1238. package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts +0 -2
  1239. package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts.map +0 -1
  1240. package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts +0 -2
  1241. package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts.map +0 -1
  1242. package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts +0 -2
  1243. package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts.map +0 -1
  1244. package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts +0 -2
  1245. package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts.map +0 -1
  1246. package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts +0 -2
  1247. package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts.map +0 -1
  1248. package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts +0 -2
  1249. package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts.map +0 -1
  1250. package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts +0 -5
  1251. package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts.map +0 -1
@@ -1,7 +1,9 @@
1
+
1
2
  import {
2
3
  AcquireCertificateArgs,
3
4
  AcquireCertificateResult,
4
5
  SecurityLevel,
6
+ SecurityLevels,
5
7
  Base64String,
6
8
  BasketStringUnder300Bytes,
7
9
  BEEF,
@@ -41,58 +43,58 @@ import {
41
43
  SignActionResult,
42
44
  TXIDHexString,
43
45
  VersionString7To30Bytes,
44
- WalletInterface,
45
- } from "../Wallet.interfaces";
46
- import WalletWire from "./WalletWire";
47
- import { Certificate } from "../../auth/index";
48
- import { Utils } from "../../primitives/index";
49
- import calls, { CallType } from "./WalletWireCalls";
50
- import { WalletError } from "../WalletError";
46
+ WalletInterface
47
+ } from '../Wallet.interfaces.js'
48
+ import WalletWire from './WalletWire.js'
49
+ import { Certificate } from '../../auth/index.js'
50
+ import { Utils } from '../../primitives/index.js'
51
+ import calls, { CallType } from './WalletWireCalls.js'
52
+ import { WalletError } from '../WalletError.js'
51
53
 
52
54
  /**
53
55
  * A way to make remote calls to a wallet over a wallet wire.
54
56
  */
55
57
  export default class WalletWireTransceiver implements WalletInterface {
56
- wire: WalletWire;
58
+ wire: WalletWire
57
59
 
58
60
  constructor(wire: WalletWire) {
59
- this.wire = wire;
61
+ this.wire = wire
60
62
  }
61
63
 
62
64
  private async transmit(
63
65
  call: CallType,
64
- originator: OriginatorDomainNameStringUnder250Bytes = "",
66
+ originator: OriginatorDomainNameStringUnder250Bytes = '',
65
67
  params: number[] = []
66
68
  ): Promise<number[]> {
67
- const frameWriter = new Utils.Writer();
68
- frameWriter.writeUInt8(calls[call]);
69
- const originatorArray = Utils.toArray(originator, "utf8");
70
- frameWriter.writeUInt8(originatorArray.length);
71
- frameWriter.write(originatorArray);
69
+ const frameWriter = new Utils.Writer()
70
+ frameWriter.writeUInt8(calls[call])
71
+ const originatorArray = Utils.toArray(originator, 'utf8')
72
+ frameWriter.writeUInt8(originatorArray.length)
73
+ frameWriter.write(originatorArray)
72
74
  if (params.length > 0) {
73
- frameWriter.write(params);
75
+ frameWriter.write(params)
74
76
  }
75
- const frame = frameWriter.toArray();
76
- const result = await this.wire.transmitToWallet(frame);
77
- const resultReader = new Utils.Reader(result);
78
- const errorByte = resultReader.readUInt8();
77
+ const frame = frameWriter.toArray()
78
+ const result = await this.wire.transmitToWallet(frame)
79
+ const resultReader = new Utils.Reader(result)
80
+ const errorByte = resultReader.readUInt8()
79
81
  if (errorByte === 0) {
80
- const resultFrame = resultReader.read();
81
- return resultFrame;
82
+ const resultFrame = resultReader.read()
83
+ return resultFrame
82
84
  } else {
83
85
  // Deserialize the error message length
84
- const errorMessageLength = resultReader.readVarIntNum();
85
- const errorMessageBytes = resultReader.read(errorMessageLength);
86
- const errorMessage = Utils.toUTF8(errorMessageBytes);
86
+ const errorMessageLength = resultReader.readVarIntNum()
87
+ const errorMessageBytes = resultReader.read(errorMessageLength)
88
+ const errorMessage = Utils.toUTF8(errorMessageBytes)
87
89
 
88
90
  // Deserialize the stack trace length
89
- const stackTraceLength = resultReader.readVarIntNum();
90
- const stackTraceBytes = resultReader.read(stackTraceLength);
91
- const stackTrace = Utils.toUTF8(stackTraceBytes);
91
+ const stackTraceLength = resultReader.readVarIntNum()
92
+ const stackTraceBytes = resultReader.read(stackTraceLength)
93
+ const stackTrace = Utils.toUTF8(stackTraceBytes)
92
94
 
93
95
  // Construct a custom wallet error
94
- const e = new WalletError(errorMessage, errorByte, stackTrace);
95
- throw e;
96
+ const e = new WalletError(errorMessage, errorByte, stackTrace)
97
+ throw e
96
98
  }
97
99
  }
98
100
 
@@ -100,419 +102,419 @@ export default class WalletWireTransceiver implements WalletInterface {
100
102
  args: CreateActionArgs,
101
103
  originator?: OriginatorDomainNameStringUnder250Bytes
102
104
  ): Promise<CreateActionResult> {
103
- const paramWriter = new Utils.Writer();
105
+ const paramWriter = new Utils.Writer()
104
106
 
105
107
  // Serialize description
106
- const descriptionBytes = Utils.toArray(args.description, "utf8");
107
- paramWriter.writeVarIntNum(descriptionBytes.length);
108
- paramWriter.write(descriptionBytes);
108
+ const descriptionBytes = Utils.toArray(args.description, 'utf8')
109
+ paramWriter.writeVarIntNum(descriptionBytes.length)
110
+ paramWriter.write(descriptionBytes)
109
111
 
110
112
  // input BEEF
111
- if (args.inputBEEF) {
112
- paramWriter.writeVarIntNum(args.inputBEEF.length);
113
- paramWriter.write(args.inputBEEF);
113
+ if (args.inputBEEF != null) {
114
+ paramWriter.writeVarIntNum(args.inputBEEF.length)
115
+ paramWriter.write(args.inputBEEF)
114
116
  } else {
115
- paramWriter.writeVarIntNum(-1);
117
+ paramWriter.writeVarIntNum(-1)
116
118
  }
117
119
 
118
120
  // Serialize inputs
119
- if (args.inputs) {
120
- paramWriter.writeVarIntNum(args.inputs.length);
121
+ if (args.inputs != null) {
122
+ paramWriter.writeVarIntNum(args.inputs.length)
121
123
  for (const input of args.inputs) {
122
124
  // outpoint
123
- paramWriter.write(this.encodeOutpoint(input.outpoint));
125
+ paramWriter.write(this.encodeOutpoint(input.outpoint))
124
126
 
125
127
  // unlockingScript / unlockingScriptLength
126
- if (input.unlockingScript) {
128
+ if (input.unlockingScript != null && input.unlockingScript !== '') {
127
129
  const unlockingScriptBytes = Utils.toArray(
128
130
  input.unlockingScript,
129
- "hex"
130
- );
131
- paramWriter.writeVarIntNum(unlockingScriptBytes.length);
132
- paramWriter.write(unlockingScriptBytes);
131
+ 'hex'
132
+ )
133
+ paramWriter.writeVarIntNum(unlockingScriptBytes.length)
134
+ paramWriter.write(unlockingScriptBytes)
133
135
  } else {
134
- paramWriter.writeVarIntNum(-1);
135
- paramWriter.writeVarIntNum(input.unlockingScriptLength);
136
+ paramWriter.writeVarIntNum(-1)
137
+ paramWriter.writeVarIntNum(input.unlockingScriptLength ?? 0)
136
138
  }
137
139
 
138
140
  // inputDescription
139
141
  const inputDescriptionBytes = Utils.toArray(
140
142
  input.inputDescription,
141
- "utf8"
142
- );
143
- paramWriter.writeVarIntNum(inputDescriptionBytes.length);
144
- paramWriter.write(inputDescriptionBytes);
143
+ 'utf8'
144
+ )
145
+ paramWriter.writeVarIntNum(inputDescriptionBytes.length)
146
+ paramWriter.write(inputDescriptionBytes)
145
147
 
146
148
  // sequenceNumber
147
- if (typeof input.sequenceNumber === "number") {
148
- paramWriter.writeVarIntNum(input.sequenceNumber);
149
+ if (typeof input.sequenceNumber === 'number') {
150
+ paramWriter.writeVarIntNum(input.sequenceNumber)
149
151
  } else {
150
- paramWriter.writeVarIntNum(-1);
152
+ paramWriter.writeVarIntNum(-1)
151
153
  }
152
154
  }
153
155
  } else {
154
- paramWriter.writeVarIntNum(-1);
156
+ paramWriter.writeVarIntNum(-1)
155
157
  }
156
158
 
157
159
  // Serialize outputs
158
- if (args.outputs) {
159
- paramWriter.writeVarIntNum(args.outputs.length);
160
+ if (args.outputs != null) {
161
+ paramWriter.writeVarIntNum(args.outputs.length)
160
162
  for (const output of args.outputs) {
161
163
  // lockingScript
162
- const lockingScriptBytes = Utils.toArray(output.lockingScript, "hex");
163
- paramWriter.writeVarIntNum(lockingScriptBytes.length);
164
- paramWriter.write(lockingScriptBytes);
164
+ const lockingScriptBytes = Utils.toArray(output.lockingScript, 'hex')
165
+ paramWriter.writeVarIntNum(lockingScriptBytes.length)
166
+ paramWriter.write(lockingScriptBytes)
165
167
 
166
168
  // satoshis
167
- paramWriter.writeVarIntNum(output.satoshis);
169
+ paramWriter.writeVarIntNum(output.satoshis)
168
170
 
169
171
  // outputDescription
170
172
  const outputDescriptionBytes = Utils.toArray(
171
173
  output.outputDescription,
172
- "utf8"
173
- );
174
- paramWriter.writeVarIntNum(outputDescriptionBytes.length);
175
- paramWriter.write(outputDescriptionBytes);
174
+ 'utf8'
175
+ )
176
+ paramWriter.writeVarIntNum(outputDescriptionBytes.length)
177
+ paramWriter.write(outputDescriptionBytes)
176
178
 
177
179
  // basket
178
- if (output.basket) {
179
- const basketBytes = Utils.toArray(output.basket, "utf8");
180
- paramWriter.writeVarIntNum(basketBytes.length);
181
- paramWriter.write(basketBytes);
180
+ if (output.basket != null && output.basket !== '') {
181
+ const basketBytes = Utils.toArray(output.basket, 'utf8')
182
+ paramWriter.writeVarIntNum(basketBytes.length)
183
+ paramWriter.write(basketBytes)
182
184
  } else {
183
- paramWriter.writeVarIntNum(-1);
185
+ paramWriter.writeVarIntNum(-1)
184
186
  }
185
187
 
186
188
  // customInstructions
187
- if (output.customInstructions) {
189
+ if (output.customInstructions != null && output.customInstructions !== '') {
188
190
  const customInstructionsBytes = Utils.toArray(
189
191
  output.customInstructions,
190
- "utf8"
191
- );
192
- paramWriter.writeVarIntNum(customInstructionsBytes.length);
193
- paramWriter.write(customInstructionsBytes);
192
+ 'utf8'
193
+ )
194
+ paramWriter.writeVarIntNum(customInstructionsBytes.length)
195
+ paramWriter.write(customInstructionsBytes)
194
196
  } else {
195
- paramWriter.writeVarIntNum(-1);
197
+ paramWriter.writeVarIntNum(-1)
196
198
  }
197
199
 
198
200
  // tags
199
- if (output.tags) {
200
- paramWriter.writeVarIntNum(output.tags.length);
201
+ if (output.tags != null) {
202
+ paramWriter.writeVarIntNum(output.tags.length)
201
203
  for (const tag of output.tags) {
202
- const tagBytes = Utils.toArray(tag, "utf8");
203
- paramWriter.writeVarIntNum(tagBytes.length);
204
- paramWriter.write(tagBytes);
204
+ const tagBytes = Utils.toArray(tag, 'utf8')
205
+ paramWriter.writeVarIntNum(tagBytes.length)
206
+ paramWriter.write(tagBytes)
205
207
  }
206
208
  } else {
207
- paramWriter.writeVarIntNum(-1);
209
+ paramWriter.writeVarIntNum(-1)
208
210
  }
209
211
  }
210
212
  } else {
211
- paramWriter.writeVarIntNum(-1);
213
+ paramWriter.writeVarIntNum(-1)
212
214
  }
213
215
 
214
216
  // Serialize lockTime
215
- if (typeof args.lockTime === "number") {
216
- paramWriter.writeVarIntNum(args.lockTime);
217
+ if (typeof args.lockTime === 'number') {
218
+ paramWriter.writeVarIntNum(args.lockTime)
217
219
  } else {
218
- paramWriter.writeVarIntNum(-1);
220
+ paramWriter.writeVarIntNum(-1)
219
221
  }
220
222
 
221
223
  // Serialize version
222
- if (typeof args.version === "number") {
223
- paramWriter.writeVarIntNum(args.version);
224
+ if (typeof args.version === 'number') {
225
+ paramWriter.writeVarIntNum(args.version)
224
226
  } else {
225
- paramWriter.writeVarIntNum(-1);
227
+ paramWriter.writeVarIntNum(-1)
226
228
  }
227
229
 
228
230
  // Serialize labels
229
- if (args.labels) {
230
- paramWriter.writeVarIntNum(args.labels.length);
231
+ if (args.labels != null) {
232
+ paramWriter.writeVarIntNum(args.labels.length)
231
233
  for (const label of args.labels) {
232
- const labelBytes = Utils.toArray(label, "utf8");
233
- paramWriter.writeVarIntNum(labelBytes.length);
234
- paramWriter.write(labelBytes);
234
+ const labelBytes = Utils.toArray(label, 'utf8')
235
+ paramWriter.writeVarIntNum(labelBytes.length)
236
+ paramWriter.write(labelBytes)
235
237
  }
236
238
  } else {
237
- paramWriter.writeVarIntNum(-1);
239
+ paramWriter.writeVarIntNum(-1)
238
240
  }
239
241
 
240
242
  // Serialize options
241
- if (args.options) {
242
- paramWriter.writeInt8(1); // options present
243
+ if (args.options != null) {
244
+ paramWriter.writeInt8(1) // options present
243
245
 
244
246
  // signAndProcess
245
- if (typeof args.options.signAndProcess === "boolean") {
246
- paramWriter.writeInt8(args.options.signAndProcess ? 1 : 0);
247
+ if (typeof args.options.signAndProcess === 'boolean') {
248
+ paramWriter.writeInt8(args.options.signAndProcess ? 1 : 0)
247
249
  } else {
248
- paramWriter.writeInt8(-1);
250
+ paramWriter.writeInt8(-1)
249
251
  }
250
252
 
251
253
  // acceptDelayedBroadcast
252
- if (typeof args.options.acceptDelayedBroadcast === "boolean") {
253
- paramWriter.writeInt8(args.options.acceptDelayedBroadcast ? 1 : 0);
254
+ if (typeof args.options.acceptDelayedBroadcast === 'boolean') {
255
+ paramWriter.writeInt8(args.options.acceptDelayedBroadcast ? 1 : 0)
254
256
  } else {
255
- paramWriter.writeInt8(-1);
257
+ paramWriter.writeInt8(-1)
256
258
  }
257
259
 
258
260
  // trustSelf
259
- if (args.options.trustSelf === "known") {
260
- paramWriter.writeInt8(1);
261
+ if (args.options.trustSelf === 'known') {
262
+ paramWriter.writeInt8(1)
261
263
  } else {
262
- paramWriter.writeInt8(-1);
264
+ paramWriter.writeInt8(-1)
263
265
  }
264
266
 
265
267
  // knownTxids
266
- if (args.options.knownTxids) {
267
- paramWriter.writeVarIntNum(args.options.knownTxids.length);
268
+ if (args.options.knownTxids != null) {
269
+ paramWriter.writeVarIntNum(args.options.knownTxids.length)
268
270
  for (const txid of args.options.knownTxids) {
269
- const txidBytes = Utils.toArray(txid, "hex");
270
- paramWriter.write(txidBytes);
271
+ const txidBytes = Utils.toArray(txid, 'hex')
272
+ paramWriter.write(txidBytes)
271
273
  }
272
274
  } else {
273
- paramWriter.writeVarIntNum(-1);
275
+ paramWriter.writeVarIntNum(-1)
274
276
  }
275
277
 
276
278
  // returnTXIDOnly
277
- if (typeof args.options.returnTXIDOnly === "boolean") {
278
- paramWriter.writeInt8(args.options.returnTXIDOnly ? 1 : 0);
279
+ if (typeof args.options.returnTXIDOnly === 'boolean') {
280
+ paramWriter.writeInt8(args.options.returnTXIDOnly ? 1 : 0)
279
281
  } else {
280
- paramWriter.writeInt8(-1);
282
+ paramWriter.writeInt8(-1)
281
283
  }
282
284
 
283
285
  // noSend
284
- if (typeof args.options.noSend === "boolean") {
285
- paramWriter.writeInt8(args.options.noSend ? 1 : 0);
286
+ if (typeof args.options.noSend === 'boolean') {
287
+ paramWriter.writeInt8(args.options.noSend ? 1 : 0)
286
288
  } else {
287
- paramWriter.writeInt8(-1);
289
+ paramWriter.writeInt8(-1)
288
290
  }
289
291
 
290
292
  // noSendChange
291
- if (args.options.noSendChange) {
292
- paramWriter.writeVarIntNum(args.options.noSendChange.length);
293
+ if (args.options.noSendChange != null) {
294
+ paramWriter.writeVarIntNum(args.options.noSendChange.length)
293
295
  for (const outpoint of args.options.noSendChange) {
294
- paramWriter.write(this.encodeOutpoint(outpoint));
296
+ paramWriter.write(this.encodeOutpoint(outpoint))
295
297
  }
296
298
  } else {
297
- paramWriter.writeVarIntNum(-1);
299
+ paramWriter.writeVarIntNum(-1)
298
300
  }
299
301
 
300
302
  // sendWith
301
- if (args.options.sendWith) {
302
- paramWriter.writeVarIntNum(args.options.sendWith.length);
303
+ if (args.options.sendWith != null) {
304
+ paramWriter.writeVarIntNum(args.options.sendWith.length)
303
305
  for (const txid of args.options.sendWith) {
304
- const txidBytes = Utils.toArray(txid, "hex");
305
- paramWriter.write(txidBytes);
306
+ const txidBytes = Utils.toArray(txid, 'hex')
307
+ paramWriter.write(txidBytes)
306
308
  }
307
309
  } else {
308
- paramWriter.writeVarIntNum(-1);
310
+ paramWriter.writeVarIntNum(-1)
309
311
  }
310
312
 
311
313
  // randomizeOutputs
312
- if (typeof args.options.randomizeOutputs === "boolean") {
313
- paramWriter.writeInt8(args.options.randomizeOutputs ? 1 : 0);
314
+ if (typeof args.options.randomizeOutputs === 'boolean') {
315
+ paramWriter.writeInt8(args.options.randomizeOutputs ? 1 : 0)
314
316
  } else {
315
- paramWriter.writeInt8(-1);
317
+ paramWriter.writeInt8(-1)
316
318
  }
317
319
  } else {
318
- paramWriter.writeInt8(0); // options not present
320
+ paramWriter.writeInt8(0) // options not present
319
321
  }
320
322
 
321
323
  // Transmit and parse response
322
324
  const result = await this.transmit(
323
- "createAction",
325
+ 'createAction',
324
326
  originator,
325
327
  paramWriter.toArray()
326
- );
327
- const resultReader = new Utils.Reader(result);
328
+ )
329
+ const resultReader = new Utils.Reader(result)
328
330
 
329
331
  const response: {
330
- txid?: TXIDHexString;
331
- tx?: BEEF;
332
- noSendChange?: OutpointString[];
332
+ txid?: TXIDHexString
333
+ tx?: BEEF
334
+ noSendChange?: OutpointString[]
333
335
  sendWithResults?: Array<{
334
- txid: TXIDHexString;
335
- status: "unproven" | "sending" | "failed";
336
- }>;
336
+ txid: TXIDHexString
337
+ status: 'unproven' | 'sending' | 'failed'
338
+ }>
337
339
  signableTransaction?: {
338
- tx: BEEF;
339
- reference: Base64String;
340
- };
341
- } = {};
340
+ tx: BEEF
341
+ reference: Base64String
342
+ }
343
+ } = {}
342
344
 
343
345
  // Parse txid
344
- const txidFlag = resultReader.readInt8();
346
+ const txidFlag = resultReader.readInt8()
345
347
  if (txidFlag === 1) {
346
- const txidBytes = resultReader.read(32);
347
- response.txid = Utils.toHex(txidBytes);
348
+ const txidBytes = resultReader.read(32)
349
+ response.txid = Utils.toHex(txidBytes)
348
350
  }
349
351
 
350
352
  // Parse tx
351
- const txFlag = resultReader.readInt8();
353
+ const txFlag = resultReader.readInt8()
352
354
  if (txFlag === 1) {
353
- const txLength = resultReader.readVarIntNum();
354
- response.tx = resultReader.read(txLength);
355
+ const txLength = resultReader.readVarIntNum()
356
+ response.tx = resultReader.read(txLength)
355
357
  }
356
358
 
357
359
  // Parse noSendChange
358
- const noSendChangeLength = resultReader.readVarIntNum();
360
+ const noSendChangeLength = resultReader.readVarIntNum()
359
361
  if (noSendChangeLength >= 0) {
360
- response.noSendChange = [];
362
+ response.noSendChange = []
361
363
  for (let i = 0; i < noSendChangeLength; i++) {
362
- const outpoint = this.readOutpoint(resultReader);
363
- response.noSendChange.push(outpoint);
364
+ const outpoint = this.readOutpoint(resultReader)
365
+ response.noSendChange.push(outpoint)
364
366
  }
365
367
  }
366
368
 
367
369
  // Parse sendWithResults
368
- const sendWithResultsLength = resultReader.readVarIntNum();
370
+ const sendWithResultsLength = resultReader.readVarIntNum()
369
371
  if (sendWithResultsLength >= 0) {
370
- response.sendWithResults = [];
372
+ response.sendWithResults = []
371
373
  for (let i = 0; i < sendWithResultsLength; i++) {
372
- const txidBytes = resultReader.read(32);
373
- const txid = Utils.toHex(txidBytes);
374
- const statusCode = resultReader.readInt8();
375
- let status: "unproven" | "sending" | "failed";
376
- if (statusCode === 1) status = "unproven";
377
- else if (statusCode === 2) status = "sending";
378
- else if (statusCode === 3) status = "failed";
379
- response.sendWithResults.push({ txid, status });
374
+ const txidBytes = resultReader.read(32)
375
+ const txid = Utils.toHex(txidBytes)
376
+ const statusCode = resultReader.readInt8()
377
+ let status: 'unproven' | 'sending' | 'failed' = 'unproven'
378
+ if (statusCode === 1) status = 'unproven'
379
+ else if (statusCode === 2) status = 'sending'
380
+ else if (statusCode === 3) status = 'failed'
381
+ response.sendWithResults.push({ txid, status })
380
382
  }
381
383
  }
382
384
 
383
385
  // Parse signableTransaction
384
- const signableTransactionFlag = resultReader.readInt8();
386
+ const signableTransactionFlag = resultReader.readInt8()
385
387
  if (signableTransactionFlag === 1) {
386
- const txLength = resultReader.readVarIntNum();
387
- const tx = resultReader.read(txLength);
388
- const referenceLength = resultReader.readVarIntNum();
389
- const referenceBytes = resultReader.read(referenceLength);
388
+ const txLength = resultReader.readVarIntNum()
389
+ const tx = resultReader.read(txLength)
390
+ const referenceLength = resultReader.readVarIntNum()
391
+ const referenceBytes = resultReader.read(referenceLength)
390
392
  response.signableTransaction = {
391
393
  tx,
392
- reference: Utils.toBase64(referenceBytes),
393
- };
394
+ reference: Utils.toBase64(referenceBytes)
395
+ }
394
396
  }
395
397
 
396
- return response;
398
+ return response
397
399
  }
398
400
 
399
401
  async signAction(
400
402
  args: SignActionArgs,
401
403
  originator?: OriginatorDomainNameStringUnder250Bytes
402
404
  ): Promise<SignActionResult> {
403
- const paramWriter = new Utils.Writer();
405
+ const paramWriter = new Utils.Writer()
404
406
 
405
407
  // Serialize spends
406
- const spendIndexes = Object.keys(args.spends);
407
- paramWriter.writeVarIntNum(spendIndexes.length);
408
+ const spendIndexes = Object.keys(args.spends)
409
+ paramWriter.writeVarIntNum(spendIndexes.length)
408
410
  for (const index of spendIndexes) {
409
- paramWriter.writeVarIntNum(Number(index));
410
- const spend = args.spends[Number(index)];
411
+ paramWriter.writeVarIntNum(Number(index))
412
+ const spend = args.spends[Number(index)]
411
413
  // unlockingScript
412
- const unlockingScriptBytes = Utils.toArray(spend.unlockingScript, "hex");
413
- paramWriter.writeVarIntNum(unlockingScriptBytes.length);
414
- paramWriter.write(unlockingScriptBytes);
414
+ const unlockingScriptBytes = Utils.toArray(spend.unlockingScript, 'hex')
415
+ paramWriter.writeVarIntNum(unlockingScriptBytes.length)
416
+ paramWriter.write(unlockingScriptBytes)
415
417
  // sequenceNumber
416
- if (typeof spend.sequenceNumber === "number") {
417
- paramWriter.writeVarIntNum(spend.sequenceNumber);
418
+ if (typeof spend.sequenceNumber === 'number') {
419
+ paramWriter.writeVarIntNum(spend.sequenceNumber)
418
420
  } else {
419
- paramWriter.writeVarIntNum(-1);
421
+ paramWriter.writeVarIntNum(-1)
420
422
  }
421
423
  }
422
424
 
423
425
  // Serialize reference
424
- const referenceBytes = Utils.toArray(args.reference, "base64");
425
- paramWriter.writeVarIntNum(referenceBytes.length);
426
- paramWriter.write(referenceBytes);
426
+ const referenceBytes = Utils.toArray(args.reference, 'base64')
427
+ paramWriter.writeVarIntNum(referenceBytes.length)
428
+ paramWriter.write(referenceBytes)
427
429
 
428
430
  // Serialize options
429
- if (args.options) {
430
- paramWriter.writeInt8(1); // options present
431
+ if (args.options != null) {
432
+ paramWriter.writeInt8(1) // options present
431
433
 
432
434
  // acceptDelayedBroadcast
433
- if (typeof args.options.acceptDelayedBroadcast === "boolean") {
434
- paramWriter.writeInt8(args.options.acceptDelayedBroadcast ? 1 : 0);
435
+ if (typeof args.options.acceptDelayedBroadcast === 'boolean') {
436
+ paramWriter.writeInt8(args.options.acceptDelayedBroadcast ? 1 : 0)
435
437
  } else {
436
- paramWriter.writeInt8(-1);
438
+ paramWriter.writeInt8(-1)
437
439
  }
438
440
 
439
441
  // returnTXIDOnly
440
- if (typeof args.options.returnTXIDOnly === "boolean") {
441
- paramWriter.writeInt8(args.options.returnTXIDOnly ? 1 : 0);
442
+ if (typeof args.options.returnTXIDOnly === 'boolean') {
443
+ paramWriter.writeInt8(args.options.returnTXIDOnly ? 1 : 0)
442
444
  } else {
443
- paramWriter.writeInt8(-1);
445
+ paramWriter.writeInt8(-1)
444
446
  }
445
447
 
446
448
  // noSend
447
- if (typeof args.options.noSend === "boolean") {
448
- paramWriter.writeInt8(args.options.noSend ? 1 : 0);
449
+ if (typeof args.options.noSend === 'boolean') {
450
+ paramWriter.writeInt8(args.options.noSend ? 1 : 0)
449
451
  } else {
450
- paramWriter.writeInt8(-1);
452
+ paramWriter.writeInt8(-1)
451
453
  }
452
454
 
453
455
  // sendWith
454
- if (args.options.sendWith) {
455
- paramWriter.writeVarIntNum(args.options.sendWith.length);
456
+ if (args.options.sendWith != null) {
457
+ paramWriter.writeVarIntNum(args.options.sendWith.length)
456
458
  for (const txid of args.options.sendWith) {
457
- const txidBytes = Utils.toArray(txid, "hex");
458
- paramWriter.write(txidBytes);
459
+ const txidBytes = Utils.toArray(txid, 'hex')
460
+ paramWriter.write(txidBytes)
459
461
  }
460
462
  } else {
461
- paramWriter.writeVarIntNum(-1);
463
+ paramWriter.writeVarIntNum(-1)
462
464
  }
463
465
  } else {
464
- paramWriter.writeInt8(0); // options not present
466
+ paramWriter.writeInt8(0) // options not present
465
467
  }
466
468
 
467
469
  // Transmit and parse response
468
470
  const result = await this.transmit(
469
- "signAction",
471
+ 'signAction',
470
472
  originator,
471
473
  paramWriter.toArray()
472
- );
473
- const resultReader = new Utils.Reader(result);
474
+ )
475
+ const resultReader = new Utils.Reader(result)
474
476
 
475
477
  const response: {
476
- txid?: TXIDHexString;
477
- tx?: BEEF;
478
- noSendChange?: OutpointString[];
478
+ txid?: TXIDHexString
479
+ tx?: BEEF
480
+ noSendChange?: OutpointString[]
479
481
  sendWithResults?: Array<{
480
- txid: TXIDHexString;
481
- status: "unproven" | "sending" | "failed";
482
- }>;
483
- } = {};
482
+ txid: TXIDHexString
483
+ status: 'unproven' | 'sending' | 'failed'
484
+ }>
485
+ } = {}
484
486
 
485
487
  // Parse txid
486
- const txidFlag = resultReader.readInt8();
488
+ const txidFlag = resultReader.readInt8()
487
489
  if (txidFlag === 1) {
488
- const txidBytes = resultReader.read(32);
489
- response.txid = Utils.toHex(txidBytes);
490
+ const txidBytes = resultReader.read(32)
491
+ response.txid = Utils.toHex(txidBytes)
490
492
  }
491
493
 
492
494
  // Parse tx
493
- const txFlag = resultReader.readInt8();
495
+ const txFlag = resultReader.readInt8()
494
496
  if (txFlag === 1) {
495
- const txLength = resultReader.readVarIntNum();
496
- response.tx = resultReader.read(txLength);
497
+ const txLength = resultReader.readVarIntNum()
498
+ response.tx = resultReader.read(txLength)
497
499
  }
498
500
 
499
501
  // Parse sendWithResults
500
- const sendWithResultsLength = resultReader.readVarIntNum();
502
+ const sendWithResultsLength = resultReader.readVarIntNum()
501
503
  if (sendWithResultsLength >= 0) {
502
- response.sendWithResults = [];
504
+ response.sendWithResults = []
503
505
  for (let i = 0; i < sendWithResultsLength; i++) {
504
- const txidBytes = resultReader.read(32);
505
- const txid = Utils.toHex(txidBytes);
506
- const statusCode = resultReader.readInt8();
507
- let status: "unproven" | "sending" | "failed";
508
- if (statusCode === 1) status = "unproven";
509
- else if (statusCode === 2) status = "sending";
510
- else if (statusCode === 3) status = "failed";
511
- response.sendWithResults.push({ txid, status });
506
+ const txidBytes = resultReader.read(32)
507
+ const txid = Utils.toHex(txidBytes)
508
+ const statusCode = resultReader.readInt8()
509
+ let status: 'unproven' | 'sending' | 'failed' = 'unproven'
510
+ if (statusCode === 1) status = 'unproven'
511
+ else if (statusCode === 2) status = 'sending'
512
+ else if (statusCode === 3) status = 'failed'
513
+ response.sendWithResults.push({ txid, status })
512
514
  }
513
515
  }
514
516
 
515
- return response;
517
+ return response
516
518
  }
517
519
 
518
520
  async abortAction(
@@ -520,34 +522,34 @@ export default class WalletWireTransceiver implements WalletInterface {
520
522
  originator?: OriginatorDomainNameStringUnder250Bytes
521
523
  ): Promise<{ aborted: true }> {
522
524
  await this.transmit(
523
- "abortAction",
525
+ 'abortAction',
524
526
  originator,
525
- Utils.toArray(args.reference, "base64")
526
- );
527
- return { aborted: true };
527
+ Utils.toArray(args.reference, 'base64')
528
+ )
529
+ return { aborted: true }
528
530
  }
529
531
 
530
532
  async listActions(
531
533
  args: ListActionsArgs,
532
534
  originator?: OriginatorDomainNameStringUnder250Bytes
533
535
  ): Promise<ListActionsResult> {
534
- const paramWriter = new Utils.Writer();
536
+ const paramWriter = new Utils.Writer()
535
537
 
536
538
  // Serialize labels
537
- paramWriter.writeVarIntNum(args.labels.length);
539
+ paramWriter.writeVarIntNum(args.labels.length)
538
540
  for (const label of args.labels) {
539
- const labelBytes = Utils.toArray(label, "utf8");
540
- paramWriter.writeVarIntNum(labelBytes.length);
541
- paramWriter.write(labelBytes);
541
+ const labelBytes = Utils.toArray(label, 'utf8')
542
+ paramWriter.writeVarIntNum(labelBytes.length)
543
+ paramWriter.write(labelBytes)
542
544
  }
543
545
 
544
546
  // Serialize labelQueryMode
545
- if (args.labelQueryMode === "any") {
546
- paramWriter.writeInt8(1);
547
- } else if (args.labelQueryMode === "all") {
548
- paramWriter.writeInt8(2);
547
+ if (args.labelQueryMode === 'any') {
548
+ paramWriter.writeInt8(1)
549
+ } else if (args.labelQueryMode === 'all') {
550
+ paramWriter.writeInt8(2)
549
551
  } else {
550
- paramWriter.writeInt8(-1);
552
+ paramWriter.writeInt8(-1)
551
553
  }
552
554
 
553
555
  // Serialize include options
@@ -557,129 +559,129 @@ export default class WalletWireTransceiver implements WalletInterface {
557
559
  args.includeInputSourceLockingScripts,
558
560
  args.includeInputUnlockingScripts,
559
561
  args.includeOutputs,
560
- args.includeOutputLockingScripts,
561
- ];
562
+ args.includeOutputLockingScripts
563
+ ]
562
564
  for (const option of includeOptions) {
563
- if (typeof option === "boolean") {
564
- paramWriter.writeInt8(option ? 1 : 0);
565
+ if (typeof option === 'boolean') {
566
+ paramWriter.writeInt8(option ? 1 : 0)
565
567
  } else {
566
- paramWriter.writeInt8(-1);
568
+ paramWriter.writeInt8(-1)
567
569
  }
568
570
  }
569
571
 
570
572
  // Serialize limit and offset
571
- if (typeof args.limit === "number") {
572
- paramWriter.writeVarIntNum(args.limit);
573
+ if (typeof args.limit === 'number') {
574
+ paramWriter.writeVarIntNum(args.limit)
573
575
  } else {
574
- paramWriter.writeVarIntNum(-1);
576
+ paramWriter.writeVarIntNum(-1)
575
577
  }
576
- if (typeof args.offset === "number") {
577
- paramWriter.writeVarIntNum(args.offset);
578
+ if (typeof args.offset === 'number') {
579
+ paramWriter.writeVarIntNum(args.offset)
578
580
  } else {
579
- paramWriter.writeVarIntNum(-1);
581
+ paramWriter.writeVarIntNum(-1)
580
582
  }
581
583
 
582
584
  // Serialize seekPermission
583
585
  paramWriter.writeInt8(
584
- typeof args.seekPermission === "boolean"
586
+ typeof args.seekPermission === 'boolean'
585
587
  ? args.seekPermission
586
588
  ? 1
587
589
  : 0
588
590
  : -1
589
- );
591
+ )
590
592
 
591
593
  // Transmit and parse response
592
594
  const result = await this.transmit(
593
- "listActions",
595
+ 'listActions',
594
596
  originator,
595
597
  paramWriter.toArray()
596
- );
597
- const resultReader = new Utils.Reader(result);
598
+ )
599
+ const resultReader = new Utils.Reader(result)
598
600
 
599
- const totalActions = resultReader.readVarIntNum();
601
+ const totalActions = resultReader.readVarIntNum()
600
602
  const actions: Array<{
601
- txid: TXIDHexString;
602
- satoshis: SatoshiValue;
603
+ txid: TXIDHexString
604
+ satoshis: SatoshiValue
603
605
  status:
604
- | "completed"
605
- | "unprocessed"
606
- | "sending"
607
- | "unproven"
608
- | "unsigned"
609
- | "nosend"
610
- | "nonfinal";
611
- isOutgoing: boolean;
612
- description: DescriptionString5to50Bytes;
613
- labels?: LabelStringUnder300Bytes[];
614
- version: PositiveIntegerOrZero;
615
- lockTime: PositiveIntegerOrZero;
606
+ | 'completed'
607
+ | 'unprocessed'
608
+ | 'sending'
609
+ | 'unproven'
610
+ | 'unsigned'
611
+ | 'nosend'
612
+ | 'nonfinal'
613
+ isOutgoing: boolean
614
+ description: DescriptionString5to50Bytes
615
+ labels?: LabelStringUnder300Bytes[]
616
+ version: PositiveIntegerOrZero
617
+ lockTime: PositiveIntegerOrZero
616
618
  inputs?: Array<{
617
- sourceOutpoint: OutpointString;
618
- sourceSatoshis: SatoshiValue;
619
- sourceLockingScript?: HexString;
620
- unlockingScript?: HexString;
621
- inputDescription: DescriptionString5to50Bytes;
622
- sequenceNumber: PositiveIntegerOrZero;
623
- }>;
619
+ sourceOutpoint: OutpointString
620
+ sourceSatoshis: SatoshiValue
621
+ sourceLockingScript?: HexString
622
+ unlockingScript?: HexString
623
+ inputDescription: DescriptionString5to50Bytes
624
+ sequenceNumber: PositiveIntegerOrZero
625
+ }>
624
626
  outputs?: Array<{
625
- outputIndex: PositiveIntegerOrZero;
626
- satoshis: SatoshiValue;
627
- lockingScript?: HexString;
628
- spendable: boolean;
629
- outputDescription: DescriptionString5to50Bytes;
630
- basket: BasketStringUnder300Bytes;
631
- tags: OutputTagStringUnder300Bytes[];
632
- customInstructions?: string;
633
- }>;
634
- }> = [];
627
+ outputIndex: PositiveIntegerOrZero
628
+ satoshis: SatoshiValue
629
+ lockingScript?: HexString
630
+ spendable: boolean
631
+ outputDescription: DescriptionString5to50Bytes
632
+ basket: BasketStringUnder300Bytes
633
+ tags: OutputTagStringUnder300Bytes[]
634
+ customInstructions?: string
635
+ }>
636
+ }> = []
635
637
 
636
638
  for (let i = 0; i < totalActions; i++) {
637
639
  // Parse action fields
638
- const txidBytes = resultReader.read(32);
639
- const txid = Utils.toHex(txidBytes);
640
+ const txidBytes = resultReader.read(32)
641
+ const txid = Utils.toHex(txidBytes)
640
642
 
641
- const satoshis = resultReader.readVarIntNum();
643
+ const satoshis = resultReader.readVarIntNum()
642
644
 
643
- const statusCode = resultReader.readInt8();
645
+ const statusCode = resultReader.readInt8()
644
646
  let status:
645
- | "completed"
646
- | "unprocessed"
647
- | "sending"
648
- | "unproven"
649
- | "unsigned"
650
- | "nosend"
651
- | "nonfinal";
647
+ | 'completed'
648
+ | 'unprocessed'
649
+ | 'sending'
650
+ | 'unproven'
651
+ | 'unsigned'
652
+ | 'nosend'
653
+ | 'nonfinal'
652
654
  switch (statusCode) {
653
655
  case 1:
654
- status = "completed";
655
- break;
656
+ status = 'completed'
657
+ break
656
658
  case 2:
657
- status = "unprocessed";
658
- break;
659
+ status = 'unprocessed'
660
+ break
659
661
  case 3:
660
- status = "sending";
661
- break;
662
+ status = 'sending'
663
+ break
662
664
  case 4:
663
- status = "unproven";
664
- break;
665
+ status = 'unproven'
666
+ break
665
667
  case 5:
666
- status = "unsigned";
667
- break;
668
+ status = 'unsigned'
669
+ break
668
670
  case 6:
669
- status = "nosend";
670
- break;
671
+ status = 'nosend'
672
+ break
671
673
  case 7:
672
- status = "nonfinal";
673
- break;
674
+ status = 'nonfinal'
675
+ break
674
676
  default:
675
- throw new Error(`Unknown status code: ${statusCode}`);
677
+ throw new Error(`Unknown status code: ${statusCode}`)
676
678
  }
677
679
 
678
- const isOutgoing = resultReader.readInt8() === 1;
680
+ const isOutgoing = resultReader.readInt8() === 1
679
681
 
680
- const descriptionLength = resultReader.readVarIntNum();
681
- const descriptionBytes = resultReader.read(descriptionLength);
682
- const description = Utils.toUTF8(descriptionBytes);
682
+ const descriptionLength = resultReader.readVarIntNum()
683
+ const descriptionBytes = resultReader.read(descriptionLength)
684
+ const description = Utils.toUTF8(descriptionBytes)
683
685
 
684
686
  const action: any = {
685
687
  txid,
@@ -688,61 +690,61 @@ export default class WalletWireTransceiver implements WalletInterface {
688
690
  isOutgoing,
689
691
  description,
690
692
  version: 0,
691
- lockTime: 0,
692
- };
693
+ lockTime: 0
694
+ }
693
695
 
694
696
  // Parse labels
695
- const labelsLength = resultReader.readVarIntNum();
697
+ const labelsLength = resultReader.readVarIntNum()
696
698
  if (labelsLength >= 0) {
697
- action.labels = [];
699
+ action.labels = []
698
700
  for (let j = 0; j < labelsLength; j++) {
699
- const labelLength = resultReader.readVarIntNum();
700
- const labelBytes = resultReader.read(labelLength);
701
- action.labels.push(Utils.toUTF8(labelBytes));
701
+ const labelLength = resultReader.readVarIntNum()
702
+ const labelBytes = resultReader.read(labelLength)
703
+ action.labels.push(Utils.toUTF8(labelBytes))
702
704
  }
703
705
  }
704
706
 
705
707
  // Parse version and lockTime
706
- action.version = resultReader.readVarIntNum();
707
- action.lockTime = resultReader.readVarIntNum();
708
+ action.version = resultReader.readVarIntNum()
709
+ action.lockTime = resultReader.readVarIntNum()
708
710
 
709
711
  // Parse inputs
710
- const inputsLength = resultReader.readVarIntNum();
712
+ const inputsLength = resultReader.readVarIntNum()
711
713
  if (inputsLength >= 0) {
712
- action.inputs = [];
714
+ action.inputs = []
713
715
  for (let k = 0; k < inputsLength; k++) {
714
- const sourceOutpoint = this.readOutpoint(resultReader);
715
- const sourceSatoshis = resultReader.readVarIntNum();
716
+ const sourceOutpoint = this.readOutpoint(resultReader)
717
+ const sourceSatoshis = resultReader.readVarIntNum()
716
718
 
717
719
  // sourceLockingScript
718
- const sourceLockingScriptLength = resultReader.readVarIntNum();
719
- let sourceLockingScript: string | undefined;
720
+ const sourceLockingScriptLength = resultReader.readVarIntNum()
721
+ let sourceLockingScript: string | undefined
720
722
  if (sourceLockingScriptLength >= 0) {
721
723
  const sourceLockingScriptBytes = resultReader.read(
722
724
  sourceLockingScriptLength
723
- );
724
- sourceLockingScript = Utils.toHex(sourceLockingScriptBytes);
725
+ )
726
+ sourceLockingScript = Utils.toHex(sourceLockingScriptBytes)
725
727
  }
726
728
 
727
729
  // unlockingScript
728
- const unlockingScriptLength = resultReader.readVarIntNum();
729
- let unlockingScript: string | undefined;
730
+ const unlockingScriptLength = resultReader.readVarIntNum()
731
+ let unlockingScript: string | undefined
730
732
  if (unlockingScriptLength >= 0) {
731
733
  const unlockingScriptBytes = resultReader.read(
732
734
  unlockingScriptLength
733
- );
734
- unlockingScript = Utils.toHex(unlockingScriptBytes);
735
+ )
736
+ unlockingScript = Utils.toHex(unlockingScriptBytes)
735
737
  }
736
738
 
737
739
  // inputDescription
738
- const inputDescriptionLength = resultReader.readVarIntNum();
740
+ const inputDescriptionLength = resultReader.readVarIntNum()
739
741
  const inputDescriptionBytes = resultReader.read(
740
742
  inputDescriptionLength
741
- );
742
- const inputDescription = Utils.toUTF8(inputDescriptionBytes);
743
+ )
744
+ const inputDescription = Utils.toUTF8(inputDescriptionBytes)
743
745
 
744
746
  // sequenceNumber
745
- const sequenceNumber = resultReader.readVarIntNum();
747
+ const sequenceNumber = resultReader.readVarIntNum()
746
748
 
747
749
  action.inputs.push({
748
750
  sourceOutpoint,
@@ -750,63 +752,63 @@ export default class WalletWireTransceiver implements WalletInterface {
750
752
  sourceLockingScript,
751
753
  unlockingScript,
752
754
  inputDescription,
753
- sequenceNumber,
754
- });
755
+ sequenceNumber
756
+ })
755
757
  }
756
758
  }
757
759
 
758
760
  // Parse outputs
759
- const outputsLength = resultReader.readVarIntNum();
761
+ const outputsLength = resultReader.readVarIntNum()
760
762
  if (outputsLength >= 0) {
761
- action.outputs = [];
763
+ action.outputs = []
762
764
  for (let l = 0; l < outputsLength; l++) {
763
- const outputIndex = resultReader.readVarIntNum();
764
- const satoshis = resultReader.readVarIntNum();
765
+ const outputIndex = resultReader.readVarIntNum()
766
+ const satoshis = resultReader.readVarIntNum()
765
767
 
766
768
  // lockingScript
767
- const lockingScriptLength = resultReader.readVarIntNum();
768
- let lockingScript: string | undefined;
769
+ const lockingScriptLength = resultReader.readVarIntNum()
770
+ let lockingScript: string | undefined
769
771
  if (lockingScriptLength >= 0) {
770
- const lockingScriptBytes = resultReader.read(lockingScriptLength);
771
- lockingScript = Utils.toHex(lockingScriptBytes);
772
+ const lockingScriptBytes = resultReader.read(lockingScriptLength)
773
+ lockingScript = Utils.toHex(lockingScriptBytes)
772
774
  }
773
775
 
774
- const spendable = resultReader.readInt8() === 1;
776
+ const spendable = resultReader.readInt8() === 1
775
777
 
776
778
  // outputDescription
777
- const outputDescriptionLength = resultReader.readVarIntNum();
779
+ const outputDescriptionLength = resultReader.readVarIntNum()
778
780
  const outputDescriptionBytes = resultReader.read(
779
781
  outputDescriptionLength
780
- );
781
- const outputDescription = Utils.toUTF8(outputDescriptionBytes);
782
+ )
783
+ const outputDescription = Utils.toUTF8(outputDescriptionBytes)
782
784
 
783
785
  // basket
784
- const basketLength = resultReader.readVarIntNum();
785
- let basket: string | undefined;
786
+ const basketLength = resultReader.readVarIntNum()
787
+ let basket: string | undefined
786
788
  if (basketLength >= 0) {
787
- const basketBytes = resultReader.read(basketLength);
788
- basket = Utils.toUTF8(basketBytes);
789
+ const basketBytes = resultReader.read(basketLength)
790
+ basket = Utils.toUTF8(basketBytes)
789
791
  }
790
792
 
791
793
  // tags
792
- const tagsLength = resultReader.readVarIntNum();
793
- const tags: string[] = [];
794
+ const tagsLength = resultReader.readVarIntNum()
795
+ const tags: string[] = []
794
796
  if (tagsLength >= 0) {
795
797
  for (let m = 0; m < tagsLength; m++) {
796
- const tagLength = resultReader.readVarIntNum();
797
- const tagBytes = resultReader.read(tagLength);
798
- tags.push(Utils.toUTF8(tagBytes));
798
+ const tagLength = resultReader.readVarIntNum()
799
+ const tagBytes = resultReader.read(tagLength)
800
+ tags.push(Utils.toUTF8(tagBytes))
799
801
  }
800
802
  }
801
803
 
802
804
  // customInstructions
803
- const customInstructionsLength = resultReader.readVarIntNum();
804
- let customInstructions: string | undefined;
805
+ const customInstructionsLength = resultReader.readVarIntNum()
806
+ let customInstructions: string | undefined
805
807
  if (customInstructionsLength >= 0) {
806
808
  const customInstructionsBytes = resultReader.read(
807
809
  customInstructionsLength
808
- );
809
- customInstructions = Utils.toUTF8(customInstructionsBytes);
810
+ )
811
+ customInstructions = Utils.toUTF8(customInstructionsBytes)
810
812
  }
811
813
 
812
814
  action.outputs.push({
@@ -817,401 +819,404 @@ export default class WalletWireTransceiver implements WalletInterface {
817
819
  outputDescription,
818
820
  basket,
819
821
  tags,
820
- customInstructions,
821
- });
822
+ customInstructions
823
+ })
822
824
  }
823
825
  }
824
826
 
825
- actions.push(action);
827
+ actions.push(action)
826
828
  }
827
829
 
828
830
  return {
829
831
  totalActions,
830
- actions,
831
- };
832
+ actions
833
+ }
832
834
  }
833
835
 
834
836
  async internalizeAction(
835
837
  args: InternalizeActionArgs,
836
838
  originator?: OriginatorDomainNameStringUnder250Bytes
837
839
  ): Promise<{ accepted: true }> {
838
- const paramWriter = new Utils.Writer();
839
- paramWriter.writeVarIntNum(args.tx.length);
840
- paramWriter.write(args.tx);
841
- paramWriter.writeVarIntNum(args.outputs.length);
840
+ const paramWriter = new Utils.Writer()
841
+ paramWriter.writeVarIntNum(args.tx.length)
842
+ paramWriter.write(args.tx)
843
+ paramWriter.writeVarIntNum(args.outputs.length)
842
844
  for (const out of args.outputs) {
843
- paramWriter.writeVarIntNum(out.outputIndex);
844
- if (out.protocol === "wallet payment") {
845
- paramWriter.writeUInt8(1);
845
+ paramWriter.writeVarIntNum(out.outputIndex)
846
+ if (out.protocol === 'wallet payment') {
847
+ if (out.paymentRemittance == null) {
848
+ throw new Error('Payment remittance is required for wallet payment')
849
+ }
850
+ paramWriter.writeUInt8(1)
846
851
  paramWriter.write(
847
- Utils.toArray(out.paymentRemittance.senderIdentityKey, "hex")
848
- );
852
+ Utils.toArray(out.paymentRemittance.senderIdentityKey, 'hex')
853
+ )
849
854
  const derivationPrefixAsArray = Utils.toArray(
850
855
  out.paymentRemittance.derivationPrefix,
851
- "base64"
852
- );
853
- paramWriter.writeVarIntNum(derivationPrefixAsArray.length);
854
- paramWriter.write(derivationPrefixAsArray);
856
+ 'base64'
857
+ )
858
+ paramWriter.writeVarIntNum(derivationPrefixAsArray.length)
859
+ paramWriter.write(derivationPrefixAsArray)
855
860
  const derivationSuffixAsArray = Utils.toArray(
856
861
  out.paymentRemittance.derivationSuffix,
857
- "base64"
858
- );
859
- paramWriter.writeVarIntNum(derivationSuffixAsArray.length);
860
- paramWriter.write(derivationSuffixAsArray);
862
+ 'base64'
863
+ )
864
+ paramWriter.writeVarIntNum(derivationSuffixAsArray.length)
865
+ paramWriter.write(derivationSuffixAsArray)
861
866
  } else {
862
- paramWriter.writeUInt8(2);
867
+ paramWriter.writeUInt8(2)
863
868
  const basketAsArray = Utils.toArray(
864
- out.insertionRemittance.basket,
865
- "utf8"
866
- );
867
- paramWriter.writeVarIntNum(basketAsArray.length);
868
- paramWriter.write(basketAsArray);
869
- if (typeof out.insertionRemittance.customInstructions) {
869
+ out.insertionRemittance?.basket,
870
+ 'utf8'
871
+ )
872
+ paramWriter.writeVarIntNum(basketAsArray.length)
873
+ paramWriter.write(basketAsArray)
874
+ if (typeof out.insertionRemittance?.customInstructions === 'string' && out.insertionRemittance.customInstructions !== '') {
870
875
  const customInstructionsAsArray = Utils.toArray(
871
876
  out.insertionRemittance.customInstructions,
872
- "utf8"
873
- );
874
- paramWriter.writeVarIntNum(customInstructionsAsArray.length);
875
- paramWriter.write(customInstructionsAsArray);
877
+ 'utf8'
878
+ )
879
+ paramWriter.writeVarIntNum(customInstructionsAsArray.length)
880
+ paramWriter.write(customInstructionsAsArray)
876
881
  } else {
877
- paramWriter.writeVarIntNum(-1);
882
+ paramWriter.writeVarIntNum(-1)
878
883
  }
879
- if (typeof out.insertionRemittance.tags === "object") {
880
- paramWriter.writeVarIntNum(out.insertionRemittance.tags.length);
884
+ if (typeof out.insertionRemittance?.tags === 'object') {
885
+ paramWriter.writeVarIntNum(out.insertionRemittance.tags.length)
881
886
  for (const tag of out.insertionRemittance.tags) {
882
- const tagAsArray = Utils.toArray(tag, "utf8");
883
- paramWriter.writeVarIntNum(tagAsArray.length);
884
- paramWriter.write(tagAsArray);
887
+ const tagAsArray = Utils.toArray(tag, 'utf8')
888
+ paramWriter.writeVarIntNum(tagAsArray.length)
889
+ paramWriter.write(tagAsArray)
885
890
  }
886
891
  } else {
887
- paramWriter.writeVarIntNum(0);
892
+ paramWriter.writeVarIntNum(0)
888
893
  }
889
894
  }
890
895
  }
891
- if (typeof args.labels === "object") {
892
- paramWriter.writeVarIntNum(args.labels.length);
896
+ if (typeof args.labels === 'object') {
897
+ paramWriter.writeVarIntNum(args.labels.length)
893
898
  for (const l of args.labels) {
894
- const labelAsArray = Utils.toArray(l, "utf8");
895
- paramWriter.writeVarIntNum(labelAsArray.length);
896
- paramWriter.write(labelAsArray);
899
+ const labelAsArray = Utils.toArray(l, 'utf8')
900
+ paramWriter.writeVarIntNum(labelAsArray.length)
901
+ paramWriter.write(labelAsArray)
897
902
  }
898
903
  } else {
899
- paramWriter.writeVarIntNum(-1);
904
+ paramWriter.writeVarIntNum(-1)
900
905
  }
901
- const descriptionAsArray = Utils.toArray(args.description);
902
- paramWriter.writeVarIntNum(descriptionAsArray.length);
903
- paramWriter.write(descriptionAsArray);
906
+ const descriptionAsArray = Utils.toArray(args.description)
907
+ paramWriter.writeVarIntNum(descriptionAsArray.length)
908
+ paramWriter.write(descriptionAsArray)
904
909
 
905
910
  // Serialize seekPermission
906
911
  paramWriter.writeInt8(
907
- typeof args.seekPermission === "boolean"
912
+ typeof args.seekPermission === 'boolean'
908
913
  ? args.seekPermission
909
914
  ? 1
910
915
  : 0
911
916
  : -1
912
- );
917
+ )
913
918
 
914
- await this.transmit("internalizeAction", originator, paramWriter.toArray());
915
- return { accepted: true };
919
+ await this.transmit('internalizeAction', originator, paramWriter.toArray())
920
+ return { accepted: true }
916
921
  }
917
922
 
918
923
  async listOutputs(
919
924
  args: ListOutputsArgs,
920
925
  originator?: OriginatorDomainNameStringUnder250Bytes
921
926
  ): Promise<ListOutputsResult> {
922
- const paramWriter = new Utils.Writer();
923
- const basketAsArray = Utils.toArray(args.basket, "utf8");
924
- paramWriter.writeVarIntNum(basketAsArray.length);
925
- paramWriter.write(basketAsArray);
926
- if (typeof args.tags === "object") {
927
- paramWriter.writeVarIntNum(args.tags.length);
927
+ const paramWriter = new Utils.Writer()
928
+ const basketAsArray = Utils.toArray(args.basket, 'utf8')
929
+ paramWriter.writeVarIntNum(basketAsArray.length)
930
+ paramWriter.write(basketAsArray)
931
+ if (typeof args.tags === 'object') {
932
+ paramWriter.writeVarIntNum(args.tags.length)
928
933
  for (const tag of args.tags) {
929
- const tagAsArray = Utils.toArray(tag, "utf8");
930
- paramWriter.writeVarIntNum(tagAsArray.length);
931
- paramWriter.write(tagAsArray);
934
+ const tagAsArray = Utils.toArray(tag, 'utf8')
935
+ paramWriter.writeVarIntNum(tagAsArray.length)
936
+ paramWriter.write(tagAsArray)
932
937
  }
933
938
  } else {
934
- paramWriter.writeVarIntNum(0);
939
+ paramWriter.writeVarIntNum(0)
935
940
  }
936
- if (args.tagQueryMode === "all") {
937
- paramWriter.writeInt8(1);
938
- } else if (args.tagQueryMode === "any") {
939
- paramWriter.writeInt8(2);
941
+ if (args.tagQueryMode === 'all') {
942
+ paramWriter.writeInt8(1)
943
+ } else if (args.tagQueryMode === 'any') {
944
+ paramWriter.writeInt8(2)
940
945
  } else {
941
- paramWriter.writeInt8(-1);
946
+ paramWriter.writeInt8(-1)
942
947
  }
943
- if (args.include === "locking scripts") {
944
- paramWriter.writeInt8(1);
945
- } else if (args.include === "entire transactions") {
946
- paramWriter.writeInt8(2);
948
+ if (args.include === 'locking scripts') {
949
+ paramWriter.writeInt8(1)
950
+ } else if (args.include === 'entire transactions') {
951
+ paramWriter.writeInt8(2)
947
952
  } else {
948
- paramWriter.writeInt8(-1);
953
+ paramWriter.writeInt8(-1)
949
954
  }
950
- if (typeof args.includeCustomInstructions === "boolean") {
951
- paramWriter.writeInt8(args.includeCustomInstructions ? 1 : 0);
955
+ if (typeof args.includeCustomInstructions === 'boolean') {
956
+ paramWriter.writeInt8(args.includeCustomInstructions ? 1 : 0)
952
957
  } else {
953
- paramWriter.writeInt8(-1);
958
+ paramWriter.writeInt8(-1)
954
959
  }
955
- if (typeof args.includeTags === "boolean") {
956
- paramWriter.writeInt8(args.includeTags ? 1 : 0);
960
+ if (typeof args.includeTags === 'boolean') {
961
+ paramWriter.writeInt8(args.includeTags ? 1 : 0)
957
962
  } else {
958
- paramWriter.writeInt8(-1);
963
+ paramWriter.writeInt8(-1)
959
964
  }
960
- if (typeof args.includeLabels === "boolean") {
961
- paramWriter.writeInt8(args.includeLabels ? 1 : 0);
965
+ if (typeof args.includeLabels === 'boolean') {
966
+ paramWriter.writeInt8(args.includeLabels ? 1 : 0)
962
967
  } else {
963
- paramWriter.writeInt8(-1);
968
+ paramWriter.writeInt8(-1)
964
969
  }
965
- if (typeof args.limit === "number") {
966
- paramWriter.writeVarIntNum(args.limit);
970
+ if (typeof args.limit === 'number') {
971
+ paramWriter.writeVarIntNum(args.limit)
967
972
  } else {
968
- paramWriter.writeVarIntNum(-1);
973
+ paramWriter.writeVarIntNum(-1)
969
974
  }
970
- if (typeof args.offset === "number") {
971
- paramWriter.writeVarIntNum(args.offset);
975
+ if (typeof args.offset === 'number') {
976
+ paramWriter.writeVarIntNum(args.offset)
972
977
  } else {
973
- paramWriter.writeVarIntNum(-1);
978
+ paramWriter.writeVarIntNum(-1)
974
979
  }
975
980
 
976
981
  // Serialize seekPermission
977
982
  paramWriter.writeInt8(
978
- typeof args.seekPermission === "boolean"
983
+ typeof args.seekPermission === 'boolean'
979
984
  ? args.seekPermission
980
985
  ? 1
981
986
  : 0
982
987
  : -1
983
- );
988
+ )
984
989
 
985
990
  const result = await this.transmit(
986
- "listOutputs",
991
+ 'listOutputs',
987
992
  originator,
988
993
  paramWriter.toArray()
989
- );
990
- const resultReader = new Utils.Reader(result);
991
- const totalOutputs = resultReader.readVarIntNum();
992
- const beefLength = resultReader.readVarIntNum();
993
- let BEEF = undefined;
994
+ )
995
+ const resultReader = new Utils.Reader(result)
996
+ const totalOutputs = resultReader.readVarIntNum()
997
+ const beefLength = resultReader.readVarIntNum()
998
+ let BEEF
994
999
  if (beefLength >= 0) {
995
- BEEF = resultReader.read(beefLength);
1000
+ BEEF = resultReader.read(beefLength)
996
1001
  }
997
1002
  const outputs: Array<{
998
- outpoint: OutpointString;
999
- satoshis: SatoshiValue;
1000
- lockingScript?: HexString;
1001
- tx?: BEEF;
1002
- spendable: true;
1003
- customInstructions?: string;
1004
- tags?: OutputTagStringUnder300Bytes[];
1005
- labels?: LabelStringUnder300Bytes[];
1006
- }> = [];
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
+ }> = []
1007
1012
  for (let i = 0; i < totalOutputs; i++) {
1008
- const outpoint = this.readOutpoint(resultReader);
1009
- const satoshis = resultReader.readVarIntNum();
1013
+ const outpoint = this.readOutpoint(resultReader)
1014
+ const satoshis = resultReader.readVarIntNum()
1010
1015
  const output: {
1011
- outpoint: OutpointString;
1012
- satoshis: SatoshiValue;
1013
- lockingScript?: HexString;
1014
- tx?: BEEF;
1015
- spendable: true;
1016
- customInstructions?: string;
1017
- tags?: OutputTagStringUnder300Bytes[];
1018
- labels?: LabelStringUnder300Bytes[];
1016
+ outpoint: OutpointString
1017
+ satoshis: SatoshiValue
1018
+ lockingScript?: HexString
1019
+ tx?: BEEF
1020
+ spendable: true
1021
+ customInstructions?: string
1022
+ tags?: OutputTagStringUnder300Bytes[]
1023
+ labels?: LabelStringUnder300Bytes[]
1019
1024
  } = {
1020
1025
  spendable: true,
1021
1026
  outpoint,
1022
- satoshis,
1023
- };
1024
- const scriptLength = resultReader.readVarIntNum();
1027
+ satoshis
1028
+ }
1029
+ const scriptLength = resultReader.readVarIntNum()
1025
1030
  if (scriptLength >= 0) {
1026
- output.lockingScript = Utils.toHex(resultReader.read(scriptLength));
1031
+ output.lockingScript = Utils.toHex(resultReader.read(scriptLength))
1027
1032
  }
1028
- const customInstructionsLength = resultReader.readVarIntNum();
1033
+ const customInstructionsLength = resultReader.readVarIntNum()
1029
1034
  if (customInstructionsLength >= 0) {
1030
1035
  output.customInstructions = Utils.toUTF8(
1031
1036
  resultReader.read(customInstructionsLength)
1032
- );
1037
+ )
1033
1038
  }
1034
- const tagsLength = resultReader.readVarIntNum();
1039
+ const tagsLength = resultReader.readVarIntNum()
1035
1040
  if (tagsLength !== -1) {
1036
- const tags: OutputTagStringUnder300Bytes[] = [];
1041
+ const tags: OutputTagStringUnder300Bytes[] = []
1037
1042
  for (let i = 0; i < tagsLength; i++) {
1038
- const tagLength = resultReader.readVarIntNum();
1039
- tags.push(Utils.toUTF8(resultReader.read(tagLength)));
1043
+ const tagLength = resultReader.readVarIntNum()
1044
+ tags.push(Utils.toUTF8(resultReader.read(tagLength)))
1040
1045
  }
1041
- output.tags = tags;
1046
+ output.tags = tags
1042
1047
  }
1043
- const labelsLength = resultReader.readVarIntNum();
1048
+ const labelsLength = resultReader.readVarIntNum()
1044
1049
  if (labelsLength !== -1) {
1045
- const labels: LabelStringUnder300Bytes[] = [];
1050
+ const labels: LabelStringUnder300Bytes[] = []
1046
1051
  for (let i = 0; i < labelsLength; i++) {
1047
- const labelLength = resultReader.readVarIntNum();
1048
- labels.push(Utils.toUTF8(resultReader.read(labelLength)));
1052
+ const labelLength = resultReader.readVarIntNum()
1053
+ labels.push(Utils.toUTF8(resultReader.read(labelLength)))
1049
1054
  }
1050
- output.labels = labels;
1055
+ output.labels = labels
1051
1056
  }
1052
- outputs.push(output);
1057
+ outputs.push(output)
1053
1058
  }
1054
1059
  return {
1055
1060
  totalOutputs,
1056
1061
  BEEF,
1057
- outputs,
1058
- };
1062
+ outputs
1063
+ }
1059
1064
  }
1060
1065
 
1061
1066
  async relinquishOutput(
1062
- args: { basket: BasketStringUnder300Bytes; output: OutpointString },
1067
+ args: { basket: BasketStringUnder300Bytes, output: OutpointString },
1063
1068
  originator?: OriginatorDomainNameStringUnder250Bytes
1064
1069
  ): Promise<{ relinquished: true }> {
1065
- const paramWriter = new Utils.Writer();
1066
- const basketAsArray = Utils.toArray(args.basket, "utf8");
1067
- paramWriter.writeVarIntNum(basketAsArray.length);
1068
- paramWriter.write(basketAsArray);
1069
- paramWriter.write(this.encodeOutpoint(args.output));
1070
- await this.transmit("relinquishOutput", originator, paramWriter.toArray());
1071
- return { relinquished: true };
1070
+ const paramWriter = new Utils.Writer()
1071
+ const basketAsArray = Utils.toArray(args.basket, 'utf8')
1072
+ paramWriter.writeVarIntNum(basketAsArray.length)
1073
+ paramWriter.write(basketAsArray)
1074
+ paramWriter.write(this.encodeOutpoint(args.output))
1075
+ await this.transmit('relinquishOutput', originator, paramWriter.toArray())
1076
+ return { relinquished: true }
1072
1077
  }
1073
1078
 
1074
1079
  private encodeOutpoint(outpoint: OutpointString): number[] {
1075
- const writer = new Utils.Writer();
1076
- const [txid, index] = outpoint.split(".");
1077
- writer.write(Utils.toArray(txid, "hex"));
1078
- writer.writeVarIntNum(Number(index));
1079
- return writer.toArray();
1080
+ const writer = new Utils.Writer()
1081
+ const [txid, index] = outpoint.split('.')
1082
+ writer.write(Utils.toArray(txid, 'hex'))
1083
+ writer.writeVarIntNum(Number(index))
1084
+ return writer.toArray()
1080
1085
  }
1081
1086
 
1082
1087
  private readOutpoint(reader: Utils.Reader): OutpointString {
1083
- const txid = Utils.toHex(reader.read(32));
1084
- const index = reader.readVarIntNum();
1085
- return `${txid}.${index}`;
1088
+ const txid = Utils.toHex(reader.read(32))
1089
+ const index = reader.readVarIntNum()
1090
+ return `${txid}.${index}`
1086
1091
  }
1087
1092
 
1088
1093
  async getPublicKey(
1089
1094
  args: {
1090
- seekPermission?: BooleanDefaultTrue;
1091
- identityKey?: true;
1092
- protocolID?: [SecurityLevel, ProtocolString5To400Bytes];
1093
- keyID?: KeyIDStringUnder800Bytes;
1094
- privileged?: BooleanDefaultFalse;
1095
- privilegedReason?: DescriptionString5to50Bytes;
1096
- counterparty?: PubKeyHex | "self" | "anyone";
1097
- forSelf?: BooleanDefaultFalse;
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
1098
1103
  },
1099
1104
  originator?: OriginatorDomainNameStringUnder250Bytes
1100
1105
  ): Promise<{ publicKey: PubKeyHex }> {
1101
- const paramWriter = new Utils.Writer();
1102
- paramWriter.writeUInt8(args.identityKey ? 1 : 0);
1106
+ const paramWriter = new Utils.Writer()
1107
+ paramWriter.writeUInt8(args.identityKey ? 1 : 0)
1103
1108
  if (!args.identityKey) {
1104
1109
  paramWriter.write(
1105
1110
  this.encodeKeyRelatedParams(
1106
- args.protocolID,
1107
- args.keyID,
1111
+ args.protocolID ??= [SecurityLevels.Silent, 'default'],
1112
+ args.keyID ??= '',
1108
1113
  args.counterparty,
1109
1114
  args.privileged,
1110
1115
  args.privilegedReason
1111
1116
  )
1112
- );
1113
- if (typeof args.forSelf === "boolean") {
1114
- paramWriter.writeInt8(args.forSelf ? 1 : 0);
1117
+ )
1118
+ if (typeof args.forSelf === 'boolean') {
1119
+ paramWriter.writeInt8(args.forSelf ? 1 : 0)
1115
1120
  } else {
1116
- paramWriter.writeInt8(-1);
1121
+ paramWriter.writeInt8(-1)
1117
1122
  }
1118
1123
  } else {
1119
1124
  paramWriter.write(
1120
1125
  this.encodePrivilegedParams(args.privileged, args.privilegedReason)
1121
- );
1126
+ )
1122
1127
  }
1123
1128
 
1124
1129
  // Serialize seekPermission
1125
1130
  paramWriter.writeInt8(
1126
- typeof args.seekPermission === "boolean"
1131
+ typeof args.seekPermission === 'boolean'
1127
1132
  ? args.seekPermission
1128
1133
  ? 1
1129
1134
  : 0
1130
1135
  : -1
1131
- );
1136
+ )
1132
1137
 
1133
1138
  const result = await this.transmit(
1134
- "getPublicKey",
1139
+ 'getPublicKey',
1135
1140
  originator,
1136
1141
  paramWriter.toArray()
1137
- );
1142
+ )
1138
1143
  return {
1139
- publicKey: Utils.toHex(result),
1140
- };
1144
+ publicKey: Utils.toHex(result)
1145
+ }
1141
1146
  }
1142
1147
 
1143
1148
  async revealCounterpartyKeyLinkage(
1144
1149
  args: {
1145
- counterparty: PubKeyHex;
1146
- verifier: PubKeyHex;
1147
- privilegedReason?: DescriptionString5to50Bytes;
1148
- privileged?: BooleanDefaultFalse;
1150
+ counterparty: PubKeyHex
1151
+ verifier: PubKeyHex
1152
+ privilegedReason?: DescriptionString5to50Bytes
1153
+ privileged?: BooleanDefaultFalse
1149
1154
  },
1150
1155
  originator?: OriginatorDomainNameStringUnder250Bytes
1151
1156
  ): Promise<{
1152
- prover: PubKeyHex;
1153
- verifier: PubKeyHex;
1154
- counterparty: PubKeyHex;
1155
- revelationTime: ISOTimestampString;
1156
- encryptedLinkage: Byte[];
1157
- encryptedLinkageProof: number[];
1157
+ prover: PubKeyHex
1158
+ verifier: PubKeyHex
1159
+ counterparty: PubKeyHex
1160
+ revelationTime: ISOTimestampString
1161
+ encryptedLinkage: Byte[]
1162
+ encryptedLinkageProof: number[]
1158
1163
  }> {
1159
- const paramWriter = new Utils.Writer();
1164
+ const paramWriter = new Utils.Writer()
1160
1165
  paramWriter.write(
1161
1166
  this.encodePrivilegedParams(args.privileged, args.privilegedReason)
1162
- );
1163
- paramWriter.write(Utils.toArray(args.counterparty, "hex"));
1164
- paramWriter.write(Utils.toArray(args.verifier, "hex"));
1167
+ )
1168
+ paramWriter.write(Utils.toArray(args.counterparty, 'hex'))
1169
+ paramWriter.write(Utils.toArray(args.verifier, 'hex'))
1165
1170
  const result = await this.transmit(
1166
- "revealCounterpartyKeyLinkage",
1171
+ 'revealCounterpartyKeyLinkage',
1167
1172
  originator,
1168
1173
  paramWriter.toArray()
1169
- );
1170
- const resultReader = new Utils.Reader(result);
1171
- const prover = Utils.toHex(resultReader.read(33));
1172
- const verifier = Utils.toHex(resultReader.read(33));
1173
- const counterparty = Utils.toHex(resultReader.read(33));
1174
- const revelationTimeLength = resultReader.readVarIntNum();
1174
+ )
1175
+ const resultReader = new Utils.Reader(result)
1176
+ const prover = Utils.toHex(resultReader.read(33))
1177
+ const verifier = Utils.toHex(resultReader.read(33))
1178
+ const counterparty = Utils.toHex(resultReader.read(33))
1179
+ const revelationTimeLength = resultReader.readVarIntNum()
1175
1180
  const revelationTime = Utils.toUTF8(
1176
1181
  resultReader.read(revelationTimeLength)
1177
- );
1178
- const encryptedLinkageLength = resultReader.readVarIntNum();
1179
- const encryptedLinkage = resultReader.read(encryptedLinkageLength);
1180
- const encryptedLinkageProofLength = resultReader.readVarIntNum();
1182
+ )
1183
+ const encryptedLinkageLength = resultReader.readVarIntNum()
1184
+ const encryptedLinkage = resultReader.read(encryptedLinkageLength)
1185
+ const encryptedLinkageProofLength = resultReader.readVarIntNum()
1181
1186
  const encryptedLinkageProof = resultReader.read(
1182
1187
  encryptedLinkageProofLength
1183
- );
1188
+ )
1184
1189
  return {
1185
1190
  prover,
1186
1191
  verifier,
1187
1192
  counterparty,
1188
1193
  revelationTime,
1189
1194
  encryptedLinkage,
1190
- encryptedLinkageProof,
1191
- };
1195
+ encryptedLinkageProof
1196
+ }
1192
1197
  }
1193
1198
 
1194
1199
  async revealSpecificKeyLinkage(
1195
1200
  args: {
1196
- counterparty: PubKeyHex;
1197
- verifier: PubKeyHex;
1198
- protocolID: [SecurityLevel, ProtocolString5To400Bytes];
1199
- keyID: KeyIDStringUnder800Bytes;
1200
- privilegedReason?: DescriptionString5to50Bytes;
1201
- privileged?: BooleanDefaultFalse;
1201
+ counterparty: PubKeyHex
1202
+ verifier: PubKeyHex
1203
+ protocolID: [SecurityLevel, ProtocolString5To400Bytes]
1204
+ keyID: KeyIDStringUnder800Bytes
1205
+ privilegedReason?: DescriptionString5to50Bytes
1206
+ privileged?: BooleanDefaultFalse
1202
1207
  },
1203
1208
  originator?: OriginatorDomainNameStringUnder250Bytes
1204
1209
  ): Promise<{
1205
- prover: PubKeyHex;
1206
- verifier: PubKeyHex;
1207
- counterparty: PubKeyHex;
1208
- protocolID: [SecurityLevel, ProtocolString5To400Bytes];
1209
- keyID: KeyIDStringUnder800Bytes;
1210
- encryptedLinkage: Byte[];
1211
- encryptedLinkageProof: Byte[];
1212
- proofType: Byte;
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
1213
1218
  }> {
1214
- const paramWriter = new Utils.Writer();
1219
+ const paramWriter = new Utils.Writer()
1215
1220
  paramWriter.write(
1216
1221
  this.encodeKeyRelatedParams(
1217
1222
  args.protocolID,
@@ -1220,29 +1225,29 @@ export default class WalletWireTransceiver implements WalletInterface {
1220
1225
  args.privileged,
1221
1226
  args.privilegedReason
1222
1227
  )
1223
- );
1224
- paramWriter.write(Utils.toArray(args.verifier, "hex"));
1228
+ )
1229
+ paramWriter.write(Utils.toArray(args.verifier, 'hex'))
1225
1230
  const result = await this.transmit(
1226
- "revealSpecificKeyLinkage",
1231
+ 'revealSpecificKeyLinkage',
1227
1232
  originator,
1228
1233
  paramWriter.toArray()
1229
- );
1230
- const resultReader = new Utils.Reader(result);
1231
- const prover = Utils.toHex(resultReader.read(33));
1232
- const verifier = Utils.toHex(resultReader.read(33));
1233
- const counterparty = Utils.toHex(resultReader.read(33));
1234
- const securityLevel = resultReader.readUInt8();
1235
- const protocolLength = resultReader.readVarIntNum();
1236
- const protocol = Utils.toUTF8(resultReader.read(protocolLength));
1237
- const keyIDLength = resultReader.readVarIntNum();
1238
- const keyID = Utils.toUTF8(resultReader.read(keyIDLength));
1239
- const encryptedLinkageLength = resultReader.readVarIntNum();
1240
- const encryptedLinkage = resultReader.read(encryptedLinkageLength);
1241
- const encryptedLinkageProofLength = resultReader.readVarIntNum();
1234
+ )
1235
+ const resultReader = new Utils.Reader(result)
1236
+ const prover = Utils.toHex(resultReader.read(33))
1237
+ const verifier = Utils.toHex(resultReader.read(33))
1238
+ const counterparty = Utils.toHex(resultReader.read(33))
1239
+ const securityLevel = resultReader.readUInt8()
1240
+ const protocolLength = resultReader.readVarIntNum()
1241
+ const protocol = Utils.toUTF8(resultReader.read(protocolLength))
1242
+ const keyIDLength = resultReader.readVarIntNum()
1243
+ const keyID = Utils.toUTF8(resultReader.read(keyIDLength))
1244
+ const encryptedLinkageLength = resultReader.readVarIntNum()
1245
+ const encryptedLinkage = resultReader.read(encryptedLinkageLength)
1246
+ const encryptedLinkageProofLength = resultReader.readVarIntNum()
1242
1247
  const encryptedLinkageProof = resultReader.read(
1243
1248
  encryptedLinkageProofLength
1244
- );
1245
- const proofType = resultReader.readUInt8();
1249
+ )
1250
+ const proofType = resultReader.readUInt8()
1246
1251
  return {
1247
1252
  prover,
1248
1253
  verifier,
@@ -1251,23 +1256,23 @@ export default class WalletWireTransceiver implements WalletInterface {
1251
1256
  keyID,
1252
1257
  encryptedLinkage,
1253
1258
  encryptedLinkageProof,
1254
- proofType,
1255
- };
1259
+ proofType
1260
+ }
1256
1261
  }
1257
1262
 
1258
1263
  async encrypt(
1259
1264
  args: {
1260
- seekPermission?: BooleanDefaultTrue;
1261
- plaintext: Byte[];
1262
- protocolID: [SecurityLevel, ProtocolString5To400Bytes];
1263
- keyID: KeyIDStringUnder800Bytes;
1264
- privilegedReason?: DescriptionString5to50Bytes;
1265
- counterparty?: PubKeyHex | "self" | "anyone";
1266
- privileged?: BooleanDefaultFalse;
1265
+ seekPermission?: BooleanDefaultTrue
1266
+ plaintext: Byte[]
1267
+ protocolID: [SecurityLevel, ProtocolString5To400Bytes]
1268
+ keyID: KeyIDStringUnder800Bytes
1269
+ privilegedReason?: DescriptionString5to50Bytes
1270
+ counterparty?: PubKeyHex | 'self' | 'anyone'
1271
+ privileged?: BooleanDefaultFalse
1267
1272
  },
1268
1273
  originator?: OriginatorDomainNameStringUnder250Bytes
1269
1274
  ): Promise<{ ciphertext: Byte[] }> {
1270
- const paramWriter = new Utils.Writer();
1275
+ const paramWriter = new Utils.Writer()
1271
1276
  paramWriter.write(
1272
1277
  this.encodeKeyRelatedParams(
1273
1278
  args.protocolID,
@@ -1276,39 +1281,39 @@ export default class WalletWireTransceiver implements WalletInterface {
1276
1281
  args.privileged,
1277
1282
  args.privilegedReason
1278
1283
  )
1279
- );
1280
- paramWriter.writeVarIntNum(args.plaintext.length);
1281
- paramWriter.write(args.plaintext);
1284
+ )
1285
+ paramWriter.writeVarIntNum(args.plaintext.length)
1286
+ paramWriter.write(args.plaintext)
1282
1287
  // Serialize seekPermission
1283
1288
  paramWriter.writeInt8(
1284
- typeof args.seekPermission === "boolean"
1289
+ typeof args.seekPermission === 'boolean'
1285
1290
  ? args.seekPermission
1286
1291
  ? 1
1287
1292
  : 0
1288
1293
  : -1
1289
- );
1294
+ )
1290
1295
  return {
1291
1296
  ciphertext: await this.transmit(
1292
- "encrypt",
1297
+ 'encrypt',
1293
1298
  originator,
1294
1299
  paramWriter.toArray()
1295
- ),
1296
- };
1300
+ )
1301
+ }
1297
1302
  }
1298
1303
 
1299
1304
  async decrypt(
1300
1305
  args: {
1301
- seekPermission?: BooleanDefaultTrue;
1302
- ciphertext: Byte[];
1303
- protocolID: [SecurityLevel, ProtocolString5To400Bytes];
1304
- keyID: KeyIDStringUnder800Bytes;
1305
- privilegedReason?: DescriptionString5to50Bytes;
1306
- counterparty?: PubKeyHex | "self" | "anyone";
1307
- privileged?: BooleanDefaultFalse;
1306
+ seekPermission?: BooleanDefaultTrue
1307
+ ciphertext: Byte[]
1308
+ protocolID: [SecurityLevel, ProtocolString5To400Bytes]
1309
+ keyID: KeyIDStringUnder800Bytes
1310
+ privilegedReason?: DescriptionString5to50Bytes
1311
+ counterparty?: PubKeyHex | 'self' | 'anyone'
1312
+ privileged?: BooleanDefaultFalse
1308
1313
  },
1309
1314
  originator?: OriginatorDomainNameStringUnder250Bytes
1310
1315
  ): Promise<{ plaintext: Byte[] }> {
1311
- const paramWriter = new Utils.Writer();
1316
+ const paramWriter = new Utils.Writer()
1312
1317
  paramWriter.write(
1313
1318
  this.encodeKeyRelatedParams(
1314
1319
  args.protocolID,
@@ -1317,39 +1322,39 @@ export default class WalletWireTransceiver implements WalletInterface {
1317
1322
  args.privileged,
1318
1323
  args.privilegedReason
1319
1324
  )
1320
- );
1321
- paramWriter.writeVarIntNum(args.ciphertext.length);
1322
- paramWriter.write(args.ciphertext);
1325
+ )
1326
+ paramWriter.writeVarIntNum(args.ciphertext.length)
1327
+ paramWriter.write(args.ciphertext)
1323
1328
  // Serialize seekPermission
1324
1329
  paramWriter.writeInt8(
1325
- typeof args.seekPermission === "boolean"
1330
+ typeof args.seekPermission === 'boolean'
1326
1331
  ? args.seekPermission
1327
1332
  ? 1
1328
1333
  : 0
1329
1334
  : -1
1330
- );
1335
+ )
1331
1336
  return {
1332
1337
  plaintext: await this.transmit(
1333
- "decrypt",
1338
+ 'decrypt',
1334
1339
  originator,
1335
1340
  paramWriter.toArray()
1336
- ),
1337
- };
1341
+ )
1342
+ }
1338
1343
  }
1339
1344
 
1340
1345
  async createHmac(
1341
1346
  args: {
1342
- seekPermission?: BooleanDefaultTrue;
1343
- data: Byte[];
1344
- protocolID: [SecurityLevel, ProtocolString5To400Bytes];
1345
- keyID: KeyIDStringUnder800Bytes;
1346
- privilegedReason?: DescriptionString5to50Bytes;
1347
- counterparty?: PubKeyHex | "self" | "anyone";
1348
- privileged?: BooleanDefaultFalse;
1347
+ seekPermission?: BooleanDefaultTrue
1348
+ data: Byte[]
1349
+ protocolID: [SecurityLevel, ProtocolString5To400Bytes]
1350
+ keyID: KeyIDStringUnder800Bytes
1351
+ privilegedReason?: DescriptionString5to50Bytes
1352
+ counterparty?: PubKeyHex | 'self' | 'anyone'
1353
+ privileged?: BooleanDefaultFalse
1349
1354
  },
1350
1355
  originator?: OriginatorDomainNameStringUnder250Bytes
1351
1356
  ): Promise<{ hmac: Byte[] }> {
1352
- const paramWriter = new Utils.Writer();
1357
+ const paramWriter = new Utils.Writer()
1353
1358
  paramWriter.write(
1354
1359
  this.encodeKeyRelatedParams(
1355
1360
  args.protocolID,
@@ -1358,40 +1363,40 @@ export default class WalletWireTransceiver implements WalletInterface {
1358
1363
  args.privileged,
1359
1364
  args.privilegedReason
1360
1365
  )
1361
- );
1362
- paramWriter.writeVarIntNum(args.data.length);
1363
- paramWriter.write(args.data);
1366
+ )
1367
+ paramWriter.writeVarIntNum(args.data.length)
1368
+ paramWriter.write(args.data)
1364
1369
  // Serialize seekPermission
1365
1370
  paramWriter.writeInt8(
1366
- typeof args.seekPermission === "boolean"
1371
+ typeof args.seekPermission === 'boolean'
1367
1372
  ? args.seekPermission
1368
1373
  ? 1
1369
1374
  : 0
1370
1375
  : -1
1371
- );
1376
+ )
1372
1377
  return {
1373
1378
  hmac: await this.transmit(
1374
- "createHmac",
1379
+ 'createHmac',
1375
1380
  originator,
1376
1381
  paramWriter.toArray()
1377
- ),
1378
- };
1382
+ )
1383
+ }
1379
1384
  }
1380
1385
 
1381
1386
  async verifyHmac(
1382
1387
  args: {
1383
- seekPermission?: BooleanDefaultTrue;
1384
- data: Byte[];
1385
- hmac: Byte[];
1386
- protocolID: [SecurityLevel, ProtocolString5To400Bytes];
1387
- keyID: KeyIDStringUnder800Bytes;
1388
- privilegedReason?: DescriptionString5to50Bytes;
1389
- counterparty?: PubKeyHex | "self" | "anyone";
1390
- privileged?: BooleanDefaultFalse;
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
1391
1396
  },
1392
1397
  originator?: OriginatorDomainNameStringUnder250Bytes
1393
1398
  ): Promise<{ valid: true }> {
1394
- const paramWriter = new Utils.Writer();
1399
+ const paramWriter = new Utils.Writer()
1395
1400
  paramWriter.write(
1396
1401
  this.encodeKeyRelatedParams(
1397
1402
  args.protocolID,
@@ -1400,36 +1405,36 @@ export default class WalletWireTransceiver implements WalletInterface {
1400
1405
  args.privileged,
1401
1406
  args.privilegedReason
1402
1407
  )
1403
- );
1404
- paramWriter.write(args.hmac);
1405
- paramWriter.writeVarIntNum(args.data.length);
1406
- paramWriter.write(args.data);
1408
+ )
1409
+ paramWriter.write(args.hmac)
1410
+ paramWriter.writeVarIntNum(args.data.length)
1411
+ paramWriter.write(args.data)
1407
1412
  // Serialize seekPermission
1408
1413
  paramWriter.writeInt8(
1409
- typeof args.seekPermission === "boolean"
1414
+ typeof args.seekPermission === 'boolean'
1410
1415
  ? args.seekPermission
1411
1416
  ? 1
1412
1417
  : 0
1413
1418
  : -1
1414
- );
1415
- await this.transmit("verifyHmac", originator, paramWriter.toArray());
1416
- return { valid: true };
1419
+ )
1420
+ await this.transmit('verifyHmac', originator, paramWriter.toArray())
1421
+ return { valid: true }
1417
1422
  }
1418
1423
 
1419
1424
  async createSignature(
1420
1425
  args: {
1421
- seekPermission?: BooleanDefaultTrue;
1422
- data?: Byte[];
1423
- hashToDirectlySign?: Byte[];
1424
- protocolID: [SecurityLevel, ProtocolString5To400Bytes];
1425
- keyID: KeyIDStringUnder800Bytes;
1426
- privilegedReason?: DescriptionString5to50Bytes;
1427
- counterparty?: PubKeyHex | "self" | "anyone";
1428
- privileged?: BooleanDefaultFalse;
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
1429
1434
  },
1430
1435
  originator?: OriginatorDomainNameStringUnder250Bytes
1431
1436
  ): Promise<{ signature: Byte[] }> {
1432
- const paramWriter = new Utils.Writer();
1437
+ const paramWriter = new Utils.Writer()
1433
1438
  paramWriter.write(
1434
1439
  this.encodeKeyRelatedParams(
1435
1440
  args.protocolID,
@@ -1438,48 +1443,48 @@ export default class WalletWireTransceiver implements WalletInterface {
1438
1443
  args.privileged,
1439
1444
  args.privilegedReason
1440
1445
  )
1441
- );
1442
- if (typeof args.data === "object") {
1443
- paramWriter.writeUInt8(1);
1444
- paramWriter.writeVarIntNum(args.data.length);
1445
- paramWriter.write(args.data);
1446
+ )
1447
+ if (typeof args.data === 'object') {
1448
+ paramWriter.writeUInt8(1)
1449
+ paramWriter.writeVarIntNum(args.data.length)
1450
+ paramWriter.write(args.data)
1446
1451
  } else {
1447
- paramWriter.writeUInt8(2);
1448
- paramWriter.write(args.hashToDirectlySign);
1452
+ paramWriter.writeUInt8(2)
1453
+ paramWriter.write(args.hashToDirectlySign ??= [])
1449
1454
  }
1450
1455
  // Serialize seekPermission
1451
1456
  paramWriter.writeInt8(
1452
- typeof args.seekPermission === "boolean"
1457
+ typeof args.seekPermission === 'boolean'
1453
1458
  ? args.seekPermission
1454
1459
  ? 1
1455
1460
  : 0
1456
1461
  : -1
1457
- );
1462
+ )
1458
1463
  return {
1459
1464
  signature: await this.transmit(
1460
- "createSignature",
1465
+ 'createSignature',
1461
1466
  originator,
1462
1467
  paramWriter.toArray()
1463
- ),
1464
- };
1468
+ )
1469
+ }
1465
1470
  }
1466
1471
 
1467
1472
  async verifySignature(
1468
1473
  args: {
1469
- seekPermission?: BooleanDefaultTrue;
1470
- data?: Byte[];
1471
- hashToDirectlyVerify?: Byte[];
1472
- signature: Byte[];
1473
- protocolID: [SecurityLevel, ProtocolString5To400Bytes];
1474
- keyID: KeyIDStringUnder800Bytes;
1475
- privilegedReason?: DescriptionString5to50Bytes;
1476
- counterparty?: PubKeyHex | "self" | "anyone";
1477
- forSelf?: BooleanDefaultFalse;
1478
- privileged?: BooleanDefaultFalse;
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
1479
1484
  },
1480
1485
  originator?: OriginatorDomainNameStringUnder250Bytes
1481
1486
  ): Promise<{ valid: true }> {
1482
- const paramWriter = new Utils.Writer();
1487
+ const paramWriter = new Utils.Writer()
1483
1488
  paramWriter.write(
1484
1489
  this.encodeKeyRelatedParams(
1485
1490
  args.protocolID,
@@ -1488,538 +1493,538 @@ export default class WalletWireTransceiver implements WalletInterface {
1488
1493
  args.privileged,
1489
1494
  args.privilegedReason
1490
1495
  )
1491
- );
1492
- if (typeof args.forSelf === "boolean") {
1493
- paramWriter.writeInt8(args.forSelf ? 1 : 0);
1496
+ )
1497
+ if (typeof args.forSelf === 'boolean') {
1498
+ paramWriter.writeInt8(args.forSelf ? 1 : 0)
1494
1499
  } else {
1495
- paramWriter.writeInt8(-1);
1496
- }
1497
- paramWriter.writeVarIntNum(args.signature.length);
1498
- paramWriter.write(args.signature);
1499
- if (typeof args.data === "object") {
1500
- paramWriter.writeUInt8(1);
1501
- paramWriter.writeVarIntNum(args.data.length);
1502
- paramWriter.write(args.data);
1500
+ paramWriter.writeInt8(-1)
1501
+ }
1502
+ paramWriter.writeVarIntNum(args.signature.length)
1503
+ paramWriter.write(args.signature)
1504
+ if (typeof args.data === 'object') {
1505
+ paramWriter.writeUInt8(1)
1506
+ paramWriter.writeVarIntNum(args.data.length)
1507
+ paramWriter.write(args.data)
1503
1508
  } else {
1504
- paramWriter.writeUInt8(2);
1505
- paramWriter.write(args.hashToDirectlyVerify);
1509
+ paramWriter.writeUInt8(2)
1510
+ paramWriter.write(args.hashToDirectlyVerify ?? [])
1506
1511
  }
1507
1512
  // Serialize seekPermission
1508
1513
  paramWriter.writeInt8(
1509
- typeof args.seekPermission === "boolean"
1514
+ typeof args.seekPermission === 'boolean'
1510
1515
  ? args.seekPermission
1511
1516
  ? 1
1512
1517
  : 0
1513
1518
  : -1
1514
- );
1515
- await this.transmit("verifySignature", originator, paramWriter.toArray());
1516
- return { valid: true };
1519
+ )
1520
+ await this.transmit('verifySignature', originator, paramWriter.toArray())
1521
+ return { valid: true }
1517
1522
  }
1518
1523
 
1519
1524
  private encodeKeyRelatedParams(
1520
1525
  protocolID: [SecurityLevel, ProtocolString5To400Bytes],
1521
1526
  keyID: KeyIDStringUnder800Bytes,
1522
- counterparty?: PubKeyHex | "self" | "anyone",
1527
+ counterparty?: PubKeyHex | 'self' | 'anyone',
1523
1528
  privileged?: boolean,
1524
1529
  privilegedReason?: string
1525
1530
  ): number[] {
1526
- const paramWriter = new Utils.Writer();
1527
- paramWriter.writeUInt8(protocolID[0]);
1528
- const protocolAsArray = Utils.toArray(protocolID[1], "utf8");
1529
- paramWriter.writeVarIntNum(protocolAsArray.length);
1530
- paramWriter.write(protocolAsArray);
1531
- const keyIDAsArray = Utils.toArray(keyID, "utf8");
1532
- paramWriter.writeVarIntNum(keyIDAsArray.length);
1533
- paramWriter.write(keyIDAsArray);
1534
- if (typeof counterparty !== "string") {
1535
- paramWriter.writeUInt8(0);
1536
- } else if (counterparty === "self") {
1537
- paramWriter.writeUInt8(11);
1538
- } else if (counterparty === "anyone") {
1539
- paramWriter.writeUInt8(12);
1531
+ const paramWriter = new Utils.Writer()
1532
+ paramWriter.writeUInt8(protocolID[0])
1533
+ const protocolAsArray = Utils.toArray(protocolID[1], 'utf8')
1534
+ paramWriter.writeVarIntNum(protocolAsArray.length)
1535
+ paramWriter.write(protocolAsArray)
1536
+ const keyIDAsArray = Utils.toArray(keyID, 'utf8')
1537
+ paramWriter.writeVarIntNum(keyIDAsArray.length)
1538
+ paramWriter.write(keyIDAsArray)
1539
+ if (typeof counterparty !== 'string') {
1540
+ paramWriter.writeUInt8(0)
1541
+ } else if (counterparty === 'self') {
1542
+ paramWriter.writeUInt8(11)
1543
+ } else if (counterparty === 'anyone') {
1544
+ paramWriter.writeUInt8(12)
1540
1545
  } else {
1541
- paramWriter.write(Utils.toArray(counterparty, "hex"));
1546
+ paramWriter.write(Utils.toArray(counterparty, 'hex'))
1542
1547
  }
1543
1548
  paramWriter.write(
1544
1549
  this.encodePrivilegedParams(privileged, privilegedReason)
1545
- );
1546
- return paramWriter.toArray();
1550
+ )
1551
+ return paramWriter.toArray()
1547
1552
  }
1548
1553
 
1549
1554
  async acquireCertificate(
1550
1555
  args: AcquireCertificateArgs,
1551
1556
  originator?: OriginatorDomainNameStringUnder250Bytes
1552
1557
  ): Promise<AcquireCertificateResult> {
1553
- const paramWriter = new Utils.Writer();
1554
- paramWriter.write(Utils.toArray(args.type, "base64"));
1555
- paramWriter.write(Utils.toArray(args.certifier, "hex"));
1558
+ const paramWriter = new Utils.Writer()
1559
+ paramWriter.write(Utils.toArray(args.type, 'base64'))
1560
+ paramWriter.write(Utils.toArray(args.certifier, 'hex'))
1556
1561
 
1557
- const fieldEntries = Object.entries(args.fields);
1558
- paramWriter.writeVarIntNum(fieldEntries.length);
1562
+ const fieldEntries = Object.entries(args.fields)
1563
+ paramWriter.writeVarIntNum(fieldEntries.length)
1559
1564
  for (const [key, value] of fieldEntries) {
1560
- const keyAsArray = Utils.toArray(key, "utf8");
1561
- const valueAsArray = Utils.toArray(value, "utf8");
1565
+ const keyAsArray = Utils.toArray(key, 'utf8')
1566
+ const valueAsArray = Utils.toArray(value, 'utf8')
1562
1567
 
1563
- paramWriter.writeVarIntNum(keyAsArray.length);
1564
- paramWriter.write(keyAsArray);
1568
+ paramWriter.writeVarIntNum(keyAsArray.length)
1569
+ paramWriter.write(keyAsArray)
1565
1570
 
1566
- paramWriter.writeVarIntNum(valueAsArray.length);
1567
- paramWriter.write(valueAsArray);
1571
+ paramWriter.writeVarIntNum(valueAsArray.length)
1572
+ paramWriter.write(valueAsArray)
1568
1573
  }
1569
1574
 
1570
1575
  paramWriter.write(
1571
1576
  this.encodePrivilegedParams(args.privileged, args.privilegedReason)
1572
- );
1573
- paramWriter.writeUInt8(args.acquisitionProtocol === "direct" ? 1 : 2);
1577
+ )
1578
+ paramWriter.writeUInt8(args.acquisitionProtocol === 'direct' ? 1 : 2)
1574
1579
 
1575
- if (args.acquisitionProtocol === "direct") {
1576
- paramWriter.write(Utils.toArray(args.serialNumber, "base64"));
1577
- paramWriter.write(this.encodeOutpoint(args.revocationOutpoint));
1578
- const signatureAsArray = Utils.toArray(args.signature, "hex");
1579
- paramWriter.writeVarIntNum(signatureAsArray.length);
1580
- paramWriter.write(signatureAsArray);
1580
+ if (args.acquisitionProtocol === 'direct') {
1581
+ paramWriter.write(Utils.toArray(args.serialNumber, 'base64'))
1582
+ paramWriter.write(this.encodeOutpoint(args.revocationOutpoint ?? ''))
1583
+ const signatureAsArray = Utils.toArray(args.signature, 'hex')
1584
+ paramWriter.writeVarIntNum(signatureAsArray.length)
1585
+ paramWriter.write(signatureAsArray)
1581
1586
 
1582
1587
  const keyringRevealerAsArray =
1583
- args.keyringRevealer !== "certifier"
1584
- ? Utils.toArray(args.keyringRevealer, "hex")
1585
- : [11];
1586
- paramWriter.write(keyringRevealerAsArray);
1588
+ args.keyringRevealer !== 'certifier'
1589
+ ? Utils.toArray(args.keyringRevealer, 'hex')
1590
+ : [11]
1591
+ paramWriter.write(keyringRevealerAsArray)
1587
1592
 
1588
- const keyringKeys = Object.keys(args.keyringForSubject);
1589
- paramWriter.writeVarIntNum(keyringKeys.length);
1593
+ const keyringKeys = Object.keys(args.keyringForSubject ?? {})
1594
+ paramWriter.writeVarIntNum(keyringKeys.length)
1590
1595
  for (let i = 0; i < keyringKeys.length; i++) {
1591
- const keyringKeysAsArray = Utils.toArray(keyringKeys[i], "utf8");
1592
- paramWriter.writeVarIntNum(keyringKeysAsArray.length);
1593
- paramWriter.write(keyringKeysAsArray);
1596
+ const keyringKeysAsArray = Utils.toArray(keyringKeys[i], 'utf8')
1597
+ paramWriter.writeVarIntNum(keyringKeysAsArray.length)
1598
+ paramWriter.write(keyringKeysAsArray)
1594
1599
  const keyringForSubjectAsArray = Utils.toArray(
1595
- args.keyringForSubject[keyringKeys[i]],
1596
- "base64"
1597
- );
1598
- paramWriter.writeVarIntNum(keyringForSubjectAsArray.length);
1599
- paramWriter.write(keyringForSubjectAsArray);
1600
+ args.keyringForSubject?.[keyringKeys[i]],
1601
+ 'base64'
1602
+ )
1603
+ paramWriter.writeVarIntNum(keyringForSubjectAsArray.length)
1604
+ paramWriter.write(keyringForSubjectAsArray)
1600
1605
  }
1601
1606
  } else {
1602
- const certifierUrlAsArray = Utils.toArray(args.certifierUrl, "utf8");
1603
- paramWriter.writeVarIntNum(certifierUrlAsArray.length);
1604
- paramWriter.write(certifierUrlAsArray);
1607
+ const certifierUrlAsArray = Utils.toArray(args.certifierUrl, 'utf8')
1608
+ paramWriter.writeVarIntNum(certifierUrlAsArray.length)
1609
+ paramWriter.write(certifierUrlAsArray)
1605
1610
  }
1606
1611
 
1607
1612
  const result = await this.transmit(
1608
- "acquireCertificate",
1613
+ 'acquireCertificate',
1609
1614
  originator,
1610
1615
  paramWriter.toArray()
1611
- );
1612
- const cert = Certificate.fromBinary(result);
1616
+ )
1617
+ const cert = Certificate.fromBinary(result)
1613
1618
  return {
1614
1619
  ...cert,
1615
- signature: cert.signature as string,
1616
- };
1620
+ signature: cert.signature as string
1621
+ }
1617
1622
  }
1618
1623
 
1619
1624
  private encodePrivilegedParams(
1620
1625
  privileged?: boolean,
1621
1626
  privilegedReason?: string
1622
1627
  ): number[] {
1623
- const paramWriter = new Utils.Writer();
1624
- if (typeof privileged === "boolean") {
1625
- paramWriter.writeInt8(privileged ? 1 : 0);
1628
+ const paramWriter = new Utils.Writer()
1629
+ if (typeof privileged === 'boolean') {
1630
+ paramWriter.writeInt8(privileged ? 1 : 0)
1626
1631
  } else {
1627
- paramWriter.writeInt8(-1);
1632
+ paramWriter.writeInt8(-1)
1628
1633
  }
1629
- if (typeof privilegedReason === "string") {
1630
- const privilegedReasonAsArray = Utils.toArray(privilegedReason, "utf8");
1631
- paramWriter.writeInt8(privilegedReasonAsArray.length);
1632
- paramWriter.write(privilegedReasonAsArray);
1634
+ if (typeof privilegedReason === 'string') {
1635
+ const privilegedReasonAsArray = Utils.toArray(privilegedReason, 'utf8')
1636
+ paramWriter.writeInt8(privilegedReasonAsArray.length)
1637
+ paramWriter.write(privilegedReasonAsArray)
1633
1638
  } else {
1634
- paramWriter.writeInt8(-1);
1639
+ paramWriter.writeInt8(-1)
1635
1640
  }
1636
- return paramWriter.toArray();
1641
+ return paramWriter.toArray()
1637
1642
  }
1638
1643
 
1639
1644
  async listCertificates(
1640
1645
  args: {
1641
- certifiers: PubKeyHex[];
1642
- types: Base64String[];
1643
- limit?: PositiveIntegerDefault10Max10000;
1644
- offset?: PositiveIntegerOrZero;
1645
- privileged?: BooleanDefaultFalse;
1646
- privilegedReason?: DescriptionString5to50Bytes;
1646
+ certifiers: PubKeyHex[]
1647
+ types: Base64String[]
1648
+ limit?: PositiveIntegerDefault10Max10000
1649
+ offset?: PositiveIntegerOrZero
1650
+ privileged?: BooleanDefaultFalse
1651
+ privilegedReason?: DescriptionString5to50Bytes
1647
1652
  },
1648
1653
  originator?: OriginatorDomainNameStringUnder250Bytes
1649
1654
  ): Promise<ListCertificatesResult> {
1650
- const paramWriter = new Utils.Writer();
1651
- paramWriter.writeVarIntNum(args.certifiers.length);
1655
+ const paramWriter = new Utils.Writer()
1656
+ paramWriter.writeVarIntNum(args.certifiers.length)
1652
1657
  for (let i = 0; i < args.certifiers.length; i++) {
1653
- paramWriter.write(Utils.toArray(args.certifiers[i], "hex"));
1658
+ paramWriter.write(Utils.toArray(args.certifiers[i], 'hex'))
1654
1659
  }
1655
1660
 
1656
- paramWriter.writeVarIntNum(args.types.length);
1661
+ paramWriter.writeVarIntNum(args.types.length)
1657
1662
  for (let i = 0; i < args.types.length; i++) {
1658
- paramWriter.write(Utils.toArray(args.types[i], "base64"));
1663
+ paramWriter.write(Utils.toArray(args.types[i], 'base64'))
1659
1664
  }
1660
- if (typeof args.limit === "number") {
1661
- paramWriter.writeVarIntNum(args.limit);
1665
+ if (typeof args.limit === 'number') {
1666
+ paramWriter.writeVarIntNum(args.limit)
1662
1667
  } else {
1663
- paramWriter.writeVarIntNum(-1);
1668
+ paramWriter.writeVarIntNum(-1)
1664
1669
  }
1665
- if (typeof args.offset === "number") {
1666
- paramWriter.writeVarIntNum(args.offset);
1670
+ if (typeof args.offset === 'number') {
1671
+ paramWriter.writeVarIntNum(args.offset)
1667
1672
  } else {
1668
- paramWriter.writeVarIntNum(-1);
1673
+ paramWriter.writeVarIntNum(-1)
1669
1674
  }
1670
1675
  paramWriter.write(
1671
1676
  this.encodePrivilegedParams(args.privileged, args.privilegedReason)
1672
- );
1677
+ )
1673
1678
  const result = await this.transmit(
1674
- "listCertificates",
1679
+ 'listCertificates',
1675
1680
  originator,
1676
1681
  paramWriter.toArray()
1677
- );
1678
- const resultReader = new Utils.Reader(result);
1679
- const totalCertificates = resultReader.readVarIntNum();
1682
+ )
1683
+ const resultReader = new Utils.Reader(result)
1684
+ const totalCertificates = resultReader.readVarIntNum()
1680
1685
  const certificates: Array<{
1681
- type: Base64String;
1682
- subject: PubKeyHex;
1683
- serialNumber: Base64String;
1684
- certifier: PubKeyHex;
1685
- revocationOutpoint: OutpointString;
1686
- signature: HexString;
1687
- fields: Record<CertificateFieldNameUnder50Bytes, Base64String>;
1688
- }> = [];
1686
+ type: Base64String
1687
+ subject: PubKeyHex
1688
+ serialNumber: Base64String
1689
+ certifier: PubKeyHex
1690
+ revocationOutpoint: OutpointString
1691
+ signature: HexString
1692
+ fields: Record<CertificateFieldNameUnder50Bytes, Base64String>
1693
+ }> = []
1689
1694
  for (let i = 0; i < totalCertificates; i++) {
1690
- const certificateLength = resultReader.readVarIntNum();
1691
- const certificateBin = resultReader.read(certificateLength);
1692
- const cert = Certificate.fromBinary(certificateBin);
1695
+ const certificateLength = resultReader.readVarIntNum()
1696
+ const certificateBin = resultReader.read(certificateLength)
1697
+ const cert = Certificate.fromBinary(certificateBin)
1693
1698
  certificates.push({
1694
1699
  ...cert,
1695
- signature: cert.signature as string,
1696
- });
1700
+ signature: cert.signature as string
1701
+ })
1697
1702
  }
1698
1703
  return {
1699
1704
  totalCertificates,
1700
- certificates,
1701
- };
1705
+ certificates
1706
+ }
1702
1707
  }
1703
1708
 
1704
1709
  async proveCertificate(
1705
1710
  args: ProveCertificateArgs,
1706
1711
  originator?: OriginatorDomainNameStringUnder250Bytes
1707
1712
  ): Promise<ProveCertificateResult> {
1708
- const paramWriter = new Utils.Writer();
1709
- const typeAsArray = Utils.toArray(args.certificate.type, "base64");
1710
- paramWriter.write(typeAsArray);
1711
- const subjectAsArray = Utils.toArray(args.certificate.subject, "hex");
1712
- paramWriter.write(subjectAsArray);
1713
+ const paramWriter = new Utils.Writer()
1714
+ const typeAsArray = Utils.toArray(args.certificate.type, 'base64')
1715
+ paramWriter.write(typeAsArray)
1716
+ const subjectAsArray = Utils.toArray(args.certificate.subject, 'hex')
1717
+ paramWriter.write(subjectAsArray)
1713
1718
  const serialNumberAsArray = Utils.toArray(
1714
1719
  args.certificate.serialNumber,
1715
- "base64"
1716
- );
1717
- paramWriter.write(serialNumberAsArray);
1718
- const certifierAsArray = Utils.toArray(args.certificate.certifier, "hex");
1719
- paramWriter.write(certifierAsArray);
1720
+ 'base64'
1721
+ )
1722
+ paramWriter.write(serialNumberAsArray)
1723
+ const certifierAsArray = Utils.toArray(args.certificate.certifier, 'hex')
1724
+ paramWriter.write(certifierAsArray)
1720
1725
  const revocationOutpointAsArray = this.encodeOutpoint(
1721
- args.certificate.revocationOutpoint
1722
- );
1723
- paramWriter.write(revocationOutpointAsArray);
1724
- const signatureAsArray = Utils.toArray(args.certificate.signature, "hex");
1725
- paramWriter.writeVarIntNum(signatureAsArray.length);
1726
- paramWriter.write(signatureAsArray);
1727
- const fieldEntries = Object.entries(args.certificate.fields);
1728
- paramWriter.writeVarIntNum(fieldEntries.length);
1726
+ args.certificate.revocationOutpoint ?? ''
1727
+ )
1728
+ paramWriter.write(revocationOutpointAsArray)
1729
+ const signatureAsArray = Utils.toArray(args.certificate.signature, 'hex')
1730
+ paramWriter.writeVarIntNum(signatureAsArray.length)
1731
+ paramWriter.write(signatureAsArray)
1732
+ const fieldEntries = Object.entries(args.certificate.fields ?? {})
1733
+ paramWriter.writeVarIntNum(fieldEntries.length)
1729
1734
  for (const [key, value] of fieldEntries) {
1730
- const keyAsArray = Utils.toArray(key, "utf8");
1731
- const valueAsArray = Utils.toArray(value, "utf8");
1732
- paramWriter.writeVarIntNum(keyAsArray.length);
1733
- paramWriter.write(keyAsArray);
1734
- paramWriter.writeVarIntNum(valueAsArray.length);
1735
- paramWriter.write(valueAsArray);
1736
- }
1737
- paramWriter.writeVarIntNum(args.fieldsToReveal.length);
1735
+ const keyAsArray = Utils.toArray(key, 'utf8')
1736
+ const valueAsArray = Utils.toArray(value, 'utf8')
1737
+ paramWriter.writeVarIntNum(keyAsArray.length)
1738
+ paramWriter.write(keyAsArray)
1739
+ paramWriter.writeVarIntNum(valueAsArray.length)
1740
+ paramWriter.write(valueAsArray)
1741
+ }
1742
+ paramWriter.writeVarIntNum(args.fieldsToReveal.length)
1738
1743
  for (const field of args.fieldsToReveal) {
1739
- const fieldAsArray = Utils.toArray(field, "utf8");
1740
- paramWriter.writeVarIntNum(fieldAsArray.length);
1741
- paramWriter.write(fieldAsArray);
1744
+ const fieldAsArray = Utils.toArray(field, 'utf8')
1745
+ paramWriter.writeVarIntNum(fieldAsArray.length)
1746
+ paramWriter.write(fieldAsArray)
1742
1747
  }
1743
- paramWriter.write(Utils.toArray(args.verifier, "hex"));
1748
+ paramWriter.write(Utils.toArray(args.verifier, 'hex'))
1744
1749
  paramWriter.write(
1745
1750
  this.encodePrivilegedParams(args.privileged, args.privilegedReason)
1746
- );
1751
+ )
1747
1752
  const result = await this.transmit(
1748
- "proveCertificate",
1753
+ 'proveCertificate',
1749
1754
  originator,
1750
1755
  paramWriter.toArray()
1751
- );
1752
- const resultReader = new Utils.Reader(result);
1753
- const numFields = resultReader.readVarIntNum();
1754
- const keyringForVerifier: Record<string, string> = {};
1756
+ )
1757
+ const resultReader = new Utils.Reader(result)
1758
+ const numFields = resultReader.readVarIntNum()
1759
+ const keyringForVerifier: Record<string, string> = {}
1755
1760
  for (let i = 0; i < numFields; i++) {
1756
- const fieldKeyLength = resultReader.readVarIntNum();
1757
- const fieldKey = Utils.toUTF8(resultReader.read(fieldKeyLength));
1758
- const fieldValueLength = resultReader.readVarIntNum();
1761
+ const fieldKeyLength = resultReader.readVarIntNum()
1762
+ const fieldKey = Utils.toUTF8(resultReader.read(fieldKeyLength))
1763
+ const fieldValueLength = resultReader.readVarIntNum()
1759
1764
  keyringForVerifier[fieldKey] = Utils.toBase64(
1760
1765
  resultReader.read(fieldValueLength)
1761
- );
1766
+ )
1762
1767
  }
1763
1768
  return {
1764
- keyringForVerifier,
1765
- };
1769
+ keyringForVerifier
1770
+ }
1766
1771
  }
1767
1772
 
1768
1773
  async relinquishCertificate(
1769
1774
  args: {
1770
- type: Base64String;
1771
- serialNumber: Base64String;
1772
- certifier: PubKeyHex;
1775
+ type: Base64String
1776
+ serialNumber: Base64String
1777
+ certifier: PubKeyHex
1773
1778
  },
1774
1779
  originator?: OriginatorDomainNameStringUnder250Bytes
1775
1780
  ): Promise<{ relinquished: true }> {
1776
- const paramWriter = new Utils.Writer();
1777
- const typeAsArray = Utils.toArray(args.type, "base64");
1778
- paramWriter.write(typeAsArray);
1779
- const serialNumberAsArray = Utils.toArray(args.serialNumber, "base64");
1780
- paramWriter.write(serialNumberAsArray);
1781
- const certifierAsArray = Utils.toArray(args.certifier, "hex");
1782
- paramWriter.write(certifierAsArray);
1781
+ const paramWriter = new Utils.Writer()
1782
+ const typeAsArray = Utils.toArray(args.type, 'base64')
1783
+ paramWriter.write(typeAsArray)
1784
+ const serialNumberAsArray = Utils.toArray(args.serialNumber, 'base64')
1785
+ paramWriter.write(serialNumberAsArray)
1786
+ const certifierAsArray = Utils.toArray(args.certifier, 'hex')
1787
+ paramWriter.write(certifierAsArray)
1783
1788
  await this.transmit(
1784
- "relinquishCertificate",
1789
+ 'relinquishCertificate',
1785
1790
  originator,
1786
1791
  paramWriter.toArray()
1787
- );
1788
- return { relinquished: true };
1792
+ )
1793
+ return { relinquished: true }
1789
1794
  }
1790
1795
 
1791
1796
  private parseDiscoveryResult(result: number[]): {
1792
- totalCertificates: number;
1797
+ totalCertificates: number
1793
1798
  certificates: Array<{
1794
- type: Base64String;
1795
- subject: PubKeyHex;
1796
- serialNumber: Base64String;
1797
- certifier: PubKeyHex;
1798
- revocationOutpoint: OutpointString;
1799
- signature: HexString;
1800
- fields: Record<CertificateFieldNameUnder50Bytes, Base64String>;
1799
+ type: Base64String
1800
+ subject: PubKeyHex
1801
+ serialNumber: Base64String
1802
+ certifier: PubKeyHex
1803
+ revocationOutpoint: OutpointString
1804
+ signature: HexString
1805
+ fields: Record<CertificateFieldNameUnder50Bytes, Base64String>
1801
1806
  certifierInfo: {
1802
- name: EntityNameStringMax100Bytes;
1803
- iconUrl: EntityIconURLStringMax500Bytes;
1804
- description: DescriptionString5to50Bytes;
1805
- trust: PositiveIntegerMax10;
1806
- };
1807
+ name: EntityNameStringMax100Bytes
1808
+ iconUrl: EntityIconURLStringMax500Bytes
1809
+ description: DescriptionString5to50Bytes
1810
+ trust: PositiveIntegerMax10
1811
+ }
1807
1812
  publiclyRevealedKeyring: Record<
1808
1813
  CertificateFieldNameUnder50Bytes,
1809
1814
  Base64String
1810
- >;
1811
- decryptedFields: Record<CertificateFieldNameUnder50Bytes, string>;
1812
- }>;
1815
+ >
1816
+ decryptedFields: Record<CertificateFieldNameUnder50Bytes, string>
1817
+ }>
1813
1818
  } {
1814
- const resultReader = new Utils.Reader(result);
1815
- const totalCertificates = resultReader.readVarIntNum();
1819
+ const resultReader = new Utils.Reader(result)
1820
+ const totalCertificates = resultReader.readVarIntNum()
1816
1821
  const certificates: Array<{
1817
- type: Base64String;
1818
- subject: PubKeyHex;
1819
- serialNumber: Base64String;
1820
- certifier: PubKeyHex;
1821
- revocationOutpoint: OutpointString;
1822
- signature: HexString;
1823
- fields: Record<CertificateFieldNameUnder50Bytes, Base64String>;
1822
+ type: Base64String
1823
+ subject: PubKeyHex
1824
+ serialNumber: Base64String
1825
+ certifier: PubKeyHex
1826
+ revocationOutpoint: OutpointString
1827
+ signature: HexString
1828
+ fields: Record<CertificateFieldNameUnder50Bytes, Base64String>
1824
1829
  certifierInfo: {
1825
- name: EntityNameStringMax100Bytes;
1826
- iconUrl: EntityIconURLStringMax500Bytes;
1827
- description: DescriptionString5to50Bytes;
1828
- trust: PositiveIntegerMax10;
1829
- };
1830
+ name: EntityNameStringMax100Bytes
1831
+ iconUrl: EntityIconURLStringMax500Bytes
1832
+ description: DescriptionString5to50Bytes
1833
+ trust: PositiveIntegerMax10
1834
+ }
1830
1835
  publiclyRevealedKeyring: Record<
1831
1836
  CertificateFieldNameUnder50Bytes,
1832
1837
  Base64String
1833
- >;
1834
- decryptedFields: Record<CertificateFieldNameUnder50Bytes, string>;
1835
- }> = [];
1838
+ >
1839
+ decryptedFields: Record<CertificateFieldNameUnder50Bytes, string>
1840
+ }> = []
1836
1841
  for (let i = 0; i < totalCertificates; i++) {
1837
- const certBinLen = resultReader.readVarIntNum();
1838
- const certBin = resultReader.read(certBinLen);
1839
- const cert = Certificate.fromBinary(certBin);
1840
- const nameLength = resultReader.readVarIntNum();
1841
- const name = Utils.toUTF8(resultReader.read(nameLength));
1842
- const iconUrlLength = resultReader.readVarIntNum();
1843
- const iconUrl = Utils.toUTF8(resultReader.read(iconUrlLength));
1844
- const descriptionLength = resultReader.readVarIntNum();
1845
- const description = Utils.toUTF8(resultReader.read(descriptionLength));
1846
- const trust = resultReader.readUInt8();
1847
- const publiclyRevealedKeyring = {};
1848
- const numPublicKeyringEntries = resultReader.readVarIntNum();
1842
+ const certBinLen = resultReader.readVarIntNum()
1843
+ const certBin = resultReader.read(certBinLen)
1844
+ const cert = Certificate.fromBinary(certBin)
1845
+ const nameLength = resultReader.readVarIntNum()
1846
+ const name = Utils.toUTF8(resultReader.read(nameLength))
1847
+ const iconUrlLength = resultReader.readVarIntNum()
1848
+ const iconUrl = Utils.toUTF8(resultReader.read(iconUrlLength))
1849
+ const descriptionLength = resultReader.readVarIntNum()
1850
+ const description = Utils.toUTF8(resultReader.read(descriptionLength))
1851
+ const trust = resultReader.readUInt8()
1852
+ const publiclyRevealedKeyring = {}
1853
+ const numPublicKeyringEntries = resultReader.readVarIntNum()
1849
1854
  for (let j = 0; j < numPublicKeyringEntries; j++) {
1850
- const fieldKeyLen = resultReader.readVarIntNum();
1851
- const fieldKey = Utils.toUTF8(resultReader.read(fieldKeyLen));
1852
- const fieldValueLen = resultReader.readVarIntNum();
1853
- publiclyRevealedKeyring[fieldKey] = resultReader.read(fieldValueLen);
1855
+ const fieldKeyLen = resultReader.readVarIntNum()
1856
+ const fieldKey = Utils.toUTF8(resultReader.read(fieldKeyLen))
1857
+ const fieldValueLen = resultReader.readVarIntNum()
1858
+ publiclyRevealedKeyring[fieldKey] = resultReader.read(fieldValueLen)
1854
1859
  }
1855
- const decryptedFields = {};
1856
- const numDecryptedFields = resultReader.readVarIntNum();
1860
+ const decryptedFields = {}
1861
+ const numDecryptedFields = resultReader.readVarIntNum()
1857
1862
  for (let k = 0; k < numDecryptedFields; k++) {
1858
- const fieldKeyLen = resultReader.readVarIntNum();
1859
- const fieldKey = Utils.toUTF8(resultReader.read(fieldKeyLen));
1860
- const fieldValueLen = resultReader.readVarIntNum();
1863
+ const fieldKeyLen = resultReader.readVarIntNum()
1864
+ const fieldKey = Utils.toUTF8(resultReader.read(fieldKeyLen))
1865
+ const fieldValueLen = resultReader.readVarIntNum()
1861
1866
  decryptedFields[fieldKey] = Utils.toUTF8(
1862
1867
  resultReader.read(fieldValueLen)
1863
- );
1868
+ )
1864
1869
  }
1865
1870
  certificates.push({
1866
1871
  ...cert,
1867
1872
  signature: cert.signature as string,
1868
1873
  certifierInfo: { iconUrl, name, description, trust },
1869
1874
  publiclyRevealedKeyring,
1870
- decryptedFields,
1871
- });
1875
+ decryptedFields
1876
+ })
1872
1877
  }
1873
1878
  return {
1874
1879
  totalCertificates,
1875
- certificates,
1876
- };
1880
+ certificates
1881
+ }
1877
1882
  }
1878
1883
 
1879
1884
  async discoverByIdentityKey(
1880
1885
  args: {
1881
- seekPermission?: BooleanDefaultTrue;
1882
- identityKey: PubKeyHex;
1883
- limit?: PositiveIntegerDefault10Max10000;
1884
- offset?: PositiveIntegerOrZero;
1886
+ seekPermission?: BooleanDefaultTrue
1887
+ identityKey: PubKeyHex
1888
+ limit?: PositiveIntegerDefault10Max10000
1889
+ offset?: PositiveIntegerOrZero
1885
1890
  },
1886
1891
  originator?: OriginatorDomainNameStringUnder250Bytes
1887
1892
  ): Promise<DiscoverCertificatesResult> {
1888
- const paramWriter = new Utils.Writer();
1889
- paramWriter.write(Utils.toArray(args.identityKey, "hex"));
1890
- if (typeof args.limit === "number") {
1891
- paramWriter.writeVarIntNum(args.limit);
1893
+ const paramWriter = new Utils.Writer()
1894
+ paramWriter.write(Utils.toArray(args.identityKey, 'hex'))
1895
+ if (typeof args.limit === 'number') {
1896
+ paramWriter.writeVarIntNum(args.limit)
1892
1897
  } else {
1893
- paramWriter.writeVarIntNum(-1);
1898
+ paramWriter.writeVarIntNum(-1)
1894
1899
  }
1895
- if (typeof args.offset === "number") {
1896
- paramWriter.writeVarIntNum(args.offset);
1900
+ if (typeof args.offset === 'number') {
1901
+ paramWriter.writeVarIntNum(args.offset)
1897
1902
  } else {
1898
- paramWriter.writeVarIntNum(-1);
1903
+ paramWriter.writeVarIntNum(-1)
1899
1904
  }
1900
1905
  // Serialize seekPermission
1901
1906
  paramWriter.writeInt8(
1902
- typeof args.seekPermission === "boolean"
1907
+ typeof args.seekPermission === 'boolean'
1903
1908
  ? args.seekPermission
1904
1909
  ? 1
1905
1910
  : 0
1906
1911
  : -1
1907
- );
1912
+ )
1908
1913
  const result = await this.transmit(
1909
- "discoverByIdentityKey",
1914
+ 'discoverByIdentityKey',
1910
1915
  originator,
1911
1916
  paramWriter.toArray()
1912
- );
1913
- return this.parseDiscoveryResult(result);
1917
+ )
1918
+ return this.parseDiscoveryResult(result)
1914
1919
  }
1915
1920
 
1916
1921
  async discoverByAttributes(
1917
1922
  args: {
1918
- seekPermission?: BooleanDefaultTrue;
1919
- attributes: Record<CertificateFieldNameUnder50Bytes, string>;
1920
- limit?: PositiveIntegerDefault10Max10000;
1921
- offset?: PositiveIntegerOrZero;
1923
+ seekPermission?: BooleanDefaultTrue
1924
+ attributes: Record<CertificateFieldNameUnder50Bytes, string>
1925
+ limit?: PositiveIntegerDefault10Max10000
1926
+ offset?: PositiveIntegerOrZero
1922
1927
  },
1923
1928
  originator?: OriginatorDomainNameStringUnder250Bytes
1924
1929
  ): Promise<DiscoverCertificatesResult> {
1925
- const paramWriter = new Utils.Writer();
1926
- const attributeKeys = Object.keys(args.attributes);
1927
- paramWriter.writeVarIntNum(attributeKeys.length);
1930
+ const paramWriter = new Utils.Writer()
1931
+ const attributeKeys = Object.keys(args.attributes)
1932
+ paramWriter.writeVarIntNum(attributeKeys.length)
1928
1933
  for (let i = 0; i < attributeKeys.length; i++) {
1929
- paramWriter.writeVarIntNum(attributeKeys[i].length);
1930
- paramWriter.write(Utils.toArray(attributeKeys[i], "utf8"));
1931
- paramWriter.writeVarIntNum(args.attributes[attributeKeys[i]].length);
1934
+ paramWriter.writeVarIntNum(attributeKeys[i].length)
1935
+ paramWriter.write(Utils.toArray(attributeKeys[i], 'utf8'))
1936
+ paramWriter.writeVarIntNum(args.attributes[attributeKeys[i]].length)
1932
1937
  paramWriter.write(
1933
- Utils.toArray(args.attributes[attributeKeys[i]], "utf8")
1934
- );
1938
+ Utils.toArray(args.attributes[attributeKeys[i]], 'utf8')
1939
+ )
1935
1940
  }
1936
- if (typeof args.limit === "number") {
1937
- paramWriter.writeVarIntNum(args.limit);
1941
+ if (typeof args.limit === 'number') {
1942
+ paramWriter.writeVarIntNum(args.limit)
1938
1943
  } else {
1939
- paramWriter.writeVarIntNum(-1);
1944
+ paramWriter.writeVarIntNum(-1)
1940
1945
  }
1941
- if (typeof args.offset === "number") {
1942
- paramWriter.writeVarIntNum(args.offset);
1946
+ if (typeof args.offset === 'number') {
1947
+ paramWriter.writeVarIntNum(args.offset)
1943
1948
  } else {
1944
- paramWriter.writeVarIntNum(-1);
1949
+ paramWriter.writeVarIntNum(-1)
1945
1950
  }
1946
1951
  // Serialize seekPermission
1947
1952
  paramWriter.writeInt8(
1948
- typeof args.seekPermission === "boolean"
1953
+ typeof args.seekPermission === 'boolean'
1949
1954
  ? args.seekPermission
1950
1955
  ? 1
1951
1956
  : 0
1952
1957
  : -1
1953
- );
1958
+ )
1954
1959
  const result = await this.transmit(
1955
- "discoverByAttributes",
1960
+ 'discoverByAttributes',
1956
1961
  originator,
1957
1962
  paramWriter.toArray()
1958
- );
1959
- return this.parseDiscoveryResult(result);
1963
+ )
1964
+ return this.parseDiscoveryResult(result)
1960
1965
  }
1961
1966
 
1962
1967
  async isAuthenticated(
1963
1968
  args: {},
1964
1969
  originator?: OriginatorDomainNameStringUnder250Bytes
1965
1970
  ): Promise<{ authenticated: true }> {
1966
- const result = await this.transmit("isAuthenticated", originator);
1967
- // @ts-ignore
1968
- return { authenticated: !!result[0] };
1971
+ const result = await this.transmit('isAuthenticated', originator)
1972
+ // @ts-expect-error
1973
+ return { authenticated: result[0] === 1 }
1969
1974
  }
1970
1975
 
1971
1976
  async waitForAuthentication(
1972
1977
  args: {},
1973
1978
  originator?: OriginatorDomainNameStringUnder250Bytes
1974
1979
  ): Promise<{ authenticated: true }> {
1975
- await this.transmit("waitForAuthentication", originator);
1976
- return { authenticated: true };
1980
+ await this.transmit('waitForAuthentication', originator)
1981
+ return { authenticated: true }
1977
1982
  }
1978
1983
 
1979
1984
  async getHeight(
1980
1985
  args: {},
1981
1986
  originator?: OriginatorDomainNameStringUnder250Bytes
1982
1987
  ): Promise<{ height: PositiveInteger }> {
1983
- const result = await this.transmit("getHeight", originator);
1984
- const resultReader = new Utils.Reader(result);
1988
+ const result = await this.transmit('getHeight', originator)
1989
+ const resultReader = new Utils.Reader(result)
1985
1990
  return {
1986
- height: resultReader.readVarIntNum(),
1987
- };
1991
+ height: resultReader.readVarIntNum()
1992
+ }
1988
1993
  }
1989
1994
 
1990
1995
  async getHeaderForHeight(
1991
1996
  args: { height: PositiveInteger },
1992
1997
  originator?: OriginatorDomainNameStringUnder250Bytes
1993
1998
  ): Promise<{ header: HexString }> {
1994
- const paramWriter = new Utils.Writer();
1995
- paramWriter.writeVarIntNum(args.height);
1999
+ const paramWriter = new Utils.Writer()
2000
+ paramWriter.writeVarIntNum(args.height)
1996
2001
  const header = await this.transmit(
1997
- "getHeaderForHeight",
2002
+ 'getHeaderForHeight',
1998
2003
  originator,
1999
2004
  paramWriter.toArray()
2000
- );
2005
+ )
2001
2006
  return {
2002
- header: Utils.toHex(header),
2003
- };
2007
+ header: Utils.toHex(header)
2008
+ }
2004
2009
  }
2005
2010
 
2006
2011
  async getNetwork(
2007
2012
  args: {},
2008
2013
  originator?: OriginatorDomainNameStringUnder250Bytes
2009
- ): Promise<{ network: "mainnet" | "testnet" }> {
2010
- const net = await this.transmit("getNetwork", originator);
2014
+ ): Promise<{ network: 'mainnet' | 'testnet' }> {
2015
+ const net = await this.transmit('getNetwork', originator)
2011
2016
  return {
2012
- network: net[0] === 0 ? "mainnet" : "testnet",
2013
- };
2017
+ network: net[0] === 0 ? 'mainnet' : 'testnet'
2018
+ }
2014
2019
  }
2015
2020
 
2016
2021
  async getVersion(
2017
2022
  args: {},
2018
2023
  originator?: OriginatorDomainNameStringUnder250Bytes
2019
2024
  ): Promise<{ version: VersionString7To30Bytes }> {
2020
- const version = await this.transmit("getVersion", originator);
2025
+ const version = await this.transmit('getVersion', originator)
2021
2026
  return {
2022
- version: Utils.toUTF8(version),
2023
- };
2027
+ version: Utils.toUTF8(version)
2028
+ }
2024
2029
  }
2025
2030
  }