@bsv/sdk 1.6.7 → 1.6.9

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 (611) hide show
  1. package/dist/cjs/package.json +4 -4
  2. package/dist/cjs/src/auth/__tests/Peer.test.js +446 -0
  3. package/dist/cjs/src/auth/__tests/Peer.test.js.map +1 -0
  4. package/dist/cjs/src/auth/__tests/SessionManager.test.js +69 -0
  5. package/dist/cjs/src/auth/__tests/SessionManager.test.js.map +1 -0
  6. package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js +182 -0
  7. package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js.map +1 -0
  8. package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js +184 -0
  9. package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js.map +1 -0
  10. package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js +75 -0
  11. package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +1 -0
  12. package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js +101 -0
  13. package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js.map +1 -0
  14. package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js +106 -0
  15. package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +1 -0
  16. package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js +111 -0
  17. package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js.map +1 -0
  18. package/dist/cjs/src/auth/utils/certificateHelpers.js +51 -0
  19. package/dist/cjs/src/auth/utils/certificateHelpers.js.map +1 -0
  20. package/dist/cjs/src/compat/__tests/BSM.test.js +69 -0
  21. package/dist/cjs/src/compat/__tests/BSM.test.js.map +1 -0
  22. package/dist/cjs/src/compat/__tests/ECIES.test.js +115 -0
  23. package/dist/cjs/src/compat/__tests/ECIES.test.js.map +1 -0
  24. package/dist/cjs/src/compat/__tests/HD.test.js +336 -0
  25. package/dist/cjs/src/compat/__tests/HD.test.js.map +1 -0
  26. package/dist/cjs/src/compat/__tests/Mnemonic.test.js +150 -0
  27. package/dist/cjs/src/compat/__tests/Mnemonic.test.js.map +1 -0
  28. package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js +175 -0
  29. package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js.map +1 -0
  30. package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js +57 -0
  31. package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js.map +1 -0
  32. package/dist/cjs/src/messages/__tests/SignedMessage.test.js +52 -0
  33. package/dist/cjs/src/messages/__tests/SignedMessage.test.js.map +1 -0
  34. package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js +1471 -0
  35. package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js.map +1 -0
  36. package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +78 -0
  37. package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +1 -0
  38. package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js +933 -0
  39. package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +1 -0
  40. package/dist/cjs/src/primitives/__tests/AESGCM.test.js +248 -0
  41. package/dist/cjs/src/primitives/__tests/AESGCM.test.js.map +1 -0
  42. package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js +36 -0
  43. package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js.map +1 -0
  44. package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js +36 -0
  45. package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js.map +1 -0
  46. package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js +501 -0
  47. package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js.map +1 -0
  48. package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js +185 -0
  49. package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js.map +1 -0
  50. package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js +149 -0
  51. package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js.map +1 -0
  52. package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js +23 -0
  53. package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js.map +1 -0
  54. package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js +268 -0
  55. package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js.map +1 -0
  56. package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js +147 -0
  57. package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js.map +1 -0
  58. package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js +322 -0
  59. package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js.map +1 -0
  60. package/dist/cjs/src/primitives/__tests/Curve.unit.test.js +145 -0
  61. package/dist/cjs/src/primitives/__tests/Curve.unit.test.js.map +1 -0
  62. package/dist/cjs/src/primitives/__tests/DRBG.test.js +22 -0
  63. package/dist/cjs/src/primitives/__tests/DRBG.test.js.map +1 -0
  64. package/dist/cjs/src/primitives/__tests/DRBG.vectors.js +170 -0
  65. package/dist/cjs/src/primitives/__tests/DRBG.vectors.js.map +1 -0
  66. package/dist/cjs/src/primitives/__tests/ECDH.test.js +34 -0
  67. package/dist/cjs/src/primitives/__tests/ECDH.test.js.map +1 -0
  68. package/dist/cjs/src/primitives/__tests/ECDSA.test.js +89 -0
  69. package/dist/cjs/src/primitives/__tests/ECDSA.test.js.map +1 -0
  70. package/dist/cjs/src/primitives/__tests/HMAC.test.js +60 -0
  71. package/dist/cjs/src/primitives/__tests/HMAC.test.js.map +1 -0
  72. package/dist/cjs/src/primitives/__tests/Hash.test.js +159 -0
  73. package/dist/cjs/src/primitives/__tests/Hash.test.js.map +1 -0
  74. package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js +122 -0
  75. package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js.map +1 -0
  76. package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js +105 -0
  77. package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js.map +1 -0
  78. package/dist/cjs/src/primitives/__tests/PrivateKey.test.js +90 -0
  79. package/dist/cjs/src/primitives/__tests/PrivateKey.test.js.map +1 -0
  80. package/dist/cjs/src/primitives/__tests/PublicKey.test.js +83 -0
  81. package/dist/cjs/src/primitives/__tests/PublicKey.test.js.map +1 -0
  82. package/dist/cjs/src/primitives/__tests/Random.test.js +19 -0
  83. package/dist/cjs/src/primitives/__tests/Random.test.js.map +1 -0
  84. package/dist/cjs/src/primitives/__tests/Reader.test.js +282 -0
  85. package/dist/cjs/src/primitives/__tests/Reader.test.js.map +1 -0
  86. package/dist/cjs/src/primitives/__tests/ReductionContext.test.js +224 -0
  87. package/dist/cjs/src/primitives/__tests/ReductionContext.test.js.map +1 -0
  88. package/dist/cjs/src/primitives/__tests/Schnorr.test.js +213 -0
  89. package/dist/cjs/src/primitives/__tests/Schnorr.test.js.map +1 -0
  90. package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js +51 -0
  91. package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js.map +1 -0
  92. package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js +43 -0
  93. package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js.map +1 -0
  94. package/dist/cjs/src/primitives/__tests/Writer.test.js +176 -0
  95. package/dist/cjs/src/primitives/__tests/Writer.test.js.map +1 -0
  96. package/dist/cjs/src/primitives/__tests/bug-31.test.js +32 -0
  97. package/dist/cjs/src/primitives/__tests/bug-31.test.js.map +1 -0
  98. package/dist/cjs/src/primitives/__tests/sighash.vectors.js +3506 -0
  99. package/dist/cjs/src/primitives/__tests/sighash.vectors.js.map +1 -0
  100. package/dist/cjs/src/primitives/__tests/utils.test.js +110 -0
  101. package/dist/cjs/src/primitives/__tests/utils.test.js.map +1 -0
  102. package/dist/cjs/src/primitives/utils.js +18 -2
  103. package/dist/cjs/src/primitives/utils.js.map +1 -1
  104. package/dist/cjs/src/script/__tests/Script.test.js +347 -0
  105. package/dist/cjs/src/script/__tests/Script.test.js.map +1 -0
  106. package/dist/cjs/src/script/__tests/Spend.test.js +282 -0
  107. package/dist/cjs/src/script/__tests/Spend.test.js.map +1 -0
  108. package/dist/cjs/src/script/__tests/SpendComplex.test.js +52 -0
  109. package/dist/cjs/src/script/__tests/SpendComplex.test.js.map +1 -0
  110. package/dist/cjs/src/script/__tests/script.invalid.vectors.js +2370 -0
  111. package/dist/cjs/src/script/__tests/script.invalid.vectors.js.map +1 -0
  112. package/dist/cjs/src/script/__tests/script.valid.vectors.js +1181 -0
  113. package/dist/cjs/src/script/__tests/script.valid.vectors.js.map +1 -0
  114. package/dist/cjs/src/script/__tests/spend.valid.vectors.js +2298 -0
  115. package/dist/cjs/src/script/__tests/spend.valid.vectors.js.map +1 -0
  116. package/dist/cjs/src/script/templates/__tests/PushDrop.test.js +161 -0
  117. package/dist/cjs/src/script/templates/__tests/PushDrop.test.js.map +1 -0
  118. package/dist/cjs/src/totp/__tests/totp.test.js +67 -0
  119. package/dist/cjs/src/totp/__tests/totp.test.js.map +1 -0
  120. package/dist/cjs/src/transaction/__tests/Beef.test.js +393 -0
  121. package/dist/cjs/src/transaction/__tests/Beef.test.js.map +1 -0
  122. package/dist/cjs/src/transaction/__tests/MerklePath.test.js +209 -0
  123. package/dist/cjs/src/transaction/__tests/MerklePath.test.js.map +1 -0
  124. package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js +219 -0
  125. package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js.map +1 -0
  126. package/dist/cjs/src/transaction/__tests/Transaction.test.js +1073 -0
  127. package/dist/cjs/src/transaction/__tests/Transaction.test.js.map +1 -0
  128. package/dist/cjs/src/transaction/__tests/bigtx.vectors.js +7 -0
  129. package/dist/cjs/src/transaction/__tests/bigtx.vectors.js.map +1 -0
  130. package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js +11 -0
  131. package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js.map +1 -0
  132. package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js +7 -0
  133. package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js.map +1 -0
  134. package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js +230 -0
  135. package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js.map +1 -0
  136. package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js +296 -0
  137. package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js.map +1 -0
  138. package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js +246 -0
  139. package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js.map +1 -0
  140. package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +148 -0
  141. package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +1 -0
  142. package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +155 -0
  143. package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +1 -0
  144. package/dist/cjs/src/wallet/ScriptTemplateSABPPP.js +39 -0
  145. package/dist/cjs/src/wallet/ScriptTemplateSABPPP.js.map +1 -0
  146. package/dist/cjs/src/wallet/WalletSigner.js +260 -0
  147. package/dist/cjs/src/wallet/WalletSigner.js.map +1 -0
  148. package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js +269 -0
  149. package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js.map +1 -0
  150. package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js +114 -0
  151. package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js.map +1 -0
  152. package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js +475 -0
  153. package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js.map +1 -0
  154. package/dist/cjs/src/wallet/createActionSdk.js +230 -0
  155. package/dist/cjs/src/wallet/createActionSdk.js.map +1 -0
  156. package/dist/cjs/src/wallet/sdk/CachedKeyDeriver.js +174 -0
  157. package/dist/cjs/src/wallet/sdk/CachedKeyDeriver.js.map +1 -0
  158. package/dist/cjs/src/wallet/sdk/CertOps.js +181 -0
  159. package/dist/cjs/src/wallet/sdk/CertOps.js.map +1 -0
  160. package/dist/cjs/src/wallet/sdk/Certificate.js +162 -0
  161. package/dist/cjs/src/wallet/sdk/Certificate.js.map +1 -0
  162. package/dist/cjs/src/wallet/sdk/KeyDeriver.js +176 -0
  163. package/dist/cjs/src/wallet/sdk/KeyDeriver.js.map +1 -0
  164. package/dist/cjs/src/wallet/sdk/ProtoWallet.js +75 -0
  165. package/dist/cjs/src/wallet/sdk/ProtoWallet.js.map +1 -0
  166. package/dist/cjs/src/wallet/sdk/StorageSyncReader.js +3 -0
  167. package/dist/cjs/src/wallet/sdk/StorageSyncReader.js.map +1 -0
  168. package/dist/cjs/src/wallet/sdk/WERR_errors.js +107 -0
  169. package/dist/cjs/src/wallet/sdk/WERR_errors.js.map +1 -0
  170. package/dist/cjs/src/wallet/sdk/Wallet.interfaces.js +3 -0
  171. package/dist/cjs/src/wallet/sdk/Wallet.interfaces.js.map +1 -0
  172. package/dist/cjs/src/wallet/sdk/WalletCrypto.js +171 -0
  173. package/dist/cjs/src/wallet/sdk/WalletCrypto.js.map +1 -0
  174. package/dist/cjs/src/wallet/sdk/WalletError.js +103 -0
  175. package/dist/cjs/src/wallet/sdk/WalletError.js.map +1 -0
  176. package/dist/cjs/src/wallet/sdk/WalletServices.interfaces.js +3 -0
  177. package/dist/cjs/src/wallet/sdk/WalletServices.interfaces.js.map +1 -0
  178. package/dist/cjs/src/wallet/sdk/WalletSigner.interfaces.js +3 -0
  179. package/dist/cjs/src/wallet/sdk/WalletSigner.interfaces.js.map +1 -0
  180. package/dist/cjs/src/wallet/sdk/WalletStorage.interfaces.js +3 -0
  181. package/dist/cjs/src/wallet/sdk/WalletStorage.interfaces.js.map +1 -0
  182. package/dist/cjs/src/wallet/sdk/index.js +31 -0
  183. package/dist/cjs/src/wallet/sdk/index.js.map +1 -0
  184. package/dist/cjs/src/wallet/sdk/types.js +11 -0
  185. package/dist/cjs/src/wallet/sdk/types.js.map +1 -0
  186. package/dist/cjs/src/wallet/sdk/validationHelpers.js +601 -0
  187. package/dist/cjs/src/wallet/sdk/validationHelpers.js.map +1 -0
  188. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js +11 -3
  189. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  190. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +1 -1
  191. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  192. package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js +1962 -0
  193. package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +1 -0
  194. package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js +579 -0
  195. package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js.map +1 -0
  196. package/dist/cjs/src/wallet/substrates/utils/toOriginHeader.js +21 -0
  197. package/dist/cjs/src/wallet/substrates/utils/toOriginHeader.js.map +1 -0
  198. package/dist/cjs/src/wallet/utilityHelpers.js +305 -0
  199. package/dist/cjs/src/wallet/utilityHelpers.js.map +1 -0
  200. package/dist/cjs/src/wallet/validationHelpers.js +601 -0
  201. package/dist/cjs/src/wallet/validationHelpers.js.map +1 -0
  202. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  203. package/dist/esm/src/auth/__tests/Peer.test.js +448 -0
  204. package/dist/esm/src/auth/__tests/Peer.test.js.map +1 -0
  205. package/dist/esm/src/auth/__tests/SessionManager.test.js +69 -0
  206. package/dist/esm/src/auth/__tests/SessionManager.test.js.map +1 -0
  207. package/dist/esm/src/auth/certificates/__tests/Certificate.test.js +182 -0
  208. package/dist/esm/src/auth/certificates/__tests/Certificate.test.js.map +1 -0
  209. package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js +184 -0
  210. package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js.map +1 -0
  211. package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js +75 -0
  212. package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +1 -0
  213. package/dist/esm/src/auth/utils/__tests/cryptononce.test.js +101 -0
  214. package/dist/esm/src/auth/utils/__tests/cryptononce.test.js.map +1 -0
  215. package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js +106 -0
  216. package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +1 -0
  217. package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js +111 -0
  218. package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js.map +1 -0
  219. package/dist/esm/src/auth/utils/certificateHelpers.js +47 -0
  220. package/dist/esm/src/auth/utils/certificateHelpers.js.map +1 -0
  221. package/dist/esm/src/compat/__tests/BSM.test.js +69 -0
  222. package/dist/esm/src/compat/__tests/BSM.test.js.map +1 -0
  223. package/dist/esm/src/compat/__tests/ECIES.test.js +115 -0
  224. package/dist/esm/src/compat/__tests/ECIES.test.js.map +1 -0
  225. package/dist/esm/src/compat/__tests/HD.test.js +336 -0
  226. package/dist/esm/src/compat/__tests/HD.test.js.map +1 -0
  227. package/dist/esm/src/compat/__tests/Mnemonic.test.js +150 -0
  228. package/dist/esm/src/compat/__tests/Mnemonic.test.js.map +1 -0
  229. package/dist/esm/src/compat/__tests/Mnemonic.vectors.js +175 -0
  230. package/dist/esm/src/compat/__tests/Mnemonic.vectors.js.map +1 -0
  231. package/dist/esm/src/messages/__tests/EncryptedMessage.test.js +57 -0
  232. package/dist/esm/src/messages/__tests/EncryptedMessage.test.js.map +1 -0
  233. package/dist/esm/src/messages/__tests/SignedMessage.test.js +52 -0
  234. package/dist/esm/src/messages/__tests/SignedMessage.test.js.map +1 -0
  235. package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js +1471 -0
  236. package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js.map +1 -0
  237. package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +78 -0
  238. package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +1 -0
  239. package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js +933 -0
  240. package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +1 -0
  241. package/dist/esm/src/primitives/__tests/AESGCM.test.js +248 -0
  242. package/dist/esm/src/primitives/__tests/AESGCM.test.js.map +1 -0
  243. package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js +36 -0
  244. package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js.map +1 -0
  245. package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js +36 -0
  246. package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js.map +1 -0
  247. package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js +501 -0
  248. package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js.map +1 -0
  249. package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js +185 -0
  250. package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js.map +1 -0
  251. package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js +149 -0
  252. package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js.map +1 -0
  253. package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js +23 -0
  254. package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js.map +1 -0
  255. package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js +268 -0
  256. package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js.map +1 -0
  257. package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js +147 -0
  258. package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js.map +1 -0
  259. package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js +322 -0
  260. package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js.map +1 -0
  261. package/dist/esm/src/primitives/__tests/Curve.unit.test.js +145 -0
  262. package/dist/esm/src/primitives/__tests/Curve.unit.test.js.map +1 -0
  263. package/dist/esm/src/primitives/__tests/DRBG.test.js +22 -0
  264. package/dist/esm/src/primitives/__tests/DRBG.test.js.map +1 -0
  265. package/dist/esm/src/primitives/__tests/DRBG.vectors.js +170 -0
  266. package/dist/esm/src/primitives/__tests/DRBG.vectors.js.map +1 -0
  267. package/dist/esm/src/primitives/__tests/ECDH.test.js +34 -0
  268. package/dist/esm/src/primitives/__tests/ECDH.test.js.map +1 -0
  269. package/dist/esm/src/primitives/__tests/ECDSA.test.js +89 -0
  270. package/dist/esm/src/primitives/__tests/ECDSA.test.js.map +1 -0
  271. package/dist/esm/src/primitives/__tests/HMAC.test.js +60 -0
  272. package/dist/esm/src/primitives/__tests/HMAC.test.js.map +1 -0
  273. package/dist/esm/src/primitives/__tests/Hash.test.js +159 -0
  274. package/dist/esm/src/primitives/__tests/Hash.test.js.map +1 -0
  275. package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js +122 -0
  276. package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js.map +1 -0
  277. package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js +105 -0
  278. package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js.map +1 -0
  279. package/dist/esm/src/primitives/__tests/PrivateKey.test.js +90 -0
  280. package/dist/esm/src/primitives/__tests/PrivateKey.test.js.map +1 -0
  281. package/dist/esm/src/primitives/__tests/PublicKey.test.js +83 -0
  282. package/dist/esm/src/primitives/__tests/PublicKey.test.js.map +1 -0
  283. package/dist/esm/src/primitives/__tests/Random.test.js +19 -0
  284. package/dist/esm/src/primitives/__tests/Random.test.js.map +1 -0
  285. package/dist/esm/src/primitives/__tests/Reader.test.js +282 -0
  286. package/dist/esm/src/primitives/__tests/Reader.test.js.map +1 -0
  287. package/dist/esm/src/primitives/__tests/ReductionContext.test.js +223 -0
  288. package/dist/esm/src/primitives/__tests/ReductionContext.test.js.map +1 -0
  289. package/dist/esm/src/primitives/__tests/Schnorr.test.js +213 -0
  290. package/dist/esm/src/primitives/__tests/Schnorr.test.js.map +1 -0
  291. package/dist/esm/src/primitives/__tests/SymmetricKey.test.js +51 -0
  292. package/dist/esm/src/primitives/__tests/SymmetricKey.test.js.map +1 -0
  293. package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js +43 -0
  294. package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js.map +1 -0
  295. package/dist/esm/src/primitives/__tests/Writer.test.js +176 -0
  296. package/dist/esm/src/primitives/__tests/Writer.test.js.map +1 -0
  297. package/dist/esm/src/primitives/__tests/bug-31.test.js +32 -0
  298. package/dist/esm/src/primitives/__tests/bug-31.test.js.map +1 -0
  299. package/dist/esm/src/primitives/__tests/sighash.vectors.js +3506 -0
  300. package/dist/esm/src/primitives/__tests/sighash.vectors.js.map +1 -0
  301. package/dist/esm/src/primitives/__tests/utils.test.js +110 -0
  302. package/dist/esm/src/primitives/__tests/utils.test.js.map +1 -0
  303. package/dist/esm/src/primitives/utils.js +18 -2
  304. package/dist/esm/src/primitives/utils.js.map +1 -1
  305. package/dist/esm/src/script/__tests/Script.test.js +347 -0
  306. package/dist/esm/src/script/__tests/Script.test.js.map +1 -0
  307. package/dist/esm/src/script/__tests/Spend.test.js +282 -0
  308. package/dist/esm/src/script/__tests/Spend.test.js.map +1 -0
  309. package/dist/esm/src/script/__tests/SpendComplex.test.js +51 -0
  310. package/dist/esm/src/script/__tests/SpendComplex.test.js.map +1 -0
  311. package/dist/esm/src/script/__tests/script.invalid.vectors.js +2370 -0
  312. package/dist/esm/src/script/__tests/script.invalid.vectors.js.map +1 -0
  313. package/dist/esm/src/script/__tests/script.valid.vectors.js +1181 -0
  314. package/dist/esm/src/script/__tests/script.valid.vectors.js.map +1 -0
  315. package/dist/esm/src/script/__tests/spend.valid.vectors.js +2298 -0
  316. package/dist/esm/src/script/__tests/spend.valid.vectors.js.map +1 -0
  317. package/dist/esm/src/script/templates/__tests/PushDrop.test.js +161 -0
  318. package/dist/esm/src/script/templates/__tests/PushDrop.test.js.map +1 -0
  319. package/dist/esm/src/totp/__tests/totp.test.js +67 -0
  320. package/dist/esm/src/totp/__tests/totp.test.js.map +1 -0
  321. package/dist/esm/src/transaction/__tests/Beef.test.js +393 -0
  322. package/dist/esm/src/transaction/__tests/Beef.test.js.map +1 -0
  323. package/dist/esm/src/transaction/__tests/MerklePath.test.js +209 -0
  324. package/dist/esm/src/transaction/__tests/MerklePath.test.js.map +1 -0
  325. package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js +219 -0
  326. package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js.map +1 -0
  327. package/dist/esm/src/transaction/__tests/Transaction.test.js +1072 -0
  328. package/dist/esm/src/transaction/__tests/Transaction.test.js.map +1 -0
  329. package/dist/esm/src/transaction/__tests/bigtx.vectors.js +7 -0
  330. package/dist/esm/src/transaction/__tests/bigtx.vectors.js.map +1 -0
  331. package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js +11 -0
  332. package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js.map +1 -0
  333. package/dist/esm/src/transaction/__tests/bump.valid.vectors.js +7 -0
  334. package/dist/esm/src/transaction/__tests/bump.valid.vectors.js.map +1 -0
  335. package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js +230 -0
  336. package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js.map +1 -0
  337. package/dist/esm/src/transaction/__tests/tx.valid.vectors.js +296 -0
  338. package/dist/esm/src/transaction/__tests/tx.valid.vectors.js.map +1 -0
  339. package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js +246 -0
  340. package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js.map +1 -0
  341. package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +148 -0
  342. package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +1 -0
  343. package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +155 -0
  344. package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +1 -0
  345. package/dist/esm/src/wallet/ScriptTemplateSABPPP.js +37 -0
  346. package/dist/esm/src/wallet/ScriptTemplateSABPPP.js.map +1 -0
  347. package/dist/esm/src/wallet/WalletSigner.js +263 -0
  348. package/dist/esm/src/wallet/WalletSigner.js.map +1 -0
  349. package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js +269 -0
  350. package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js.map +1 -0
  351. package/dist/esm/src/wallet/__tests/KeyDeriver.test.js +113 -0
  352. package/dist/esm/src/wallet/__tests/KeyDeriver.test.js.map +1 -0
  353. package/dist/esm/src/wallet/__tests/ProtoWallet.test.js +475 -0
  354. package/dist/esm/src/wallet/__tests/ProtoWallet.test.js.map +1 -0
  355. package/dist/esm/src/wallet/createActionSdk.js +223 -0
  356. package/dist/esm/src/wallet/createActionSdk.js.map +1 -0
  357. package/dist/esm/src/wallet/sdk/CachedKeyDeriver.js +174 -0
  358. package/dist/esm/src/wallet/sdk/CachedKeyDeriver.js.map +1 -0
  359. package/dist/esm/src/wallet/sdk/CertOps.js +181 -0
  360. package/dist/esm/src/wallet/sdk/CertOps.js.map +1 -0
  361. package/dist/esm/src/wallet/sdk/Certificate.js +186 -0
  362. package/dist/esm/src/wallet/sdk/Certificate.js.map +1 -0
  363. package/dist/esm/src/wallet/sdk/KeyDeriver.js +174 -0
  364. package/dist/esm/src/wallet/sdk/KeyDeriver.js.map +1 -0
  365. package/dist/esm/src/wallet/sdk/ProtoWallet.js +71 -0
  366. package/dist/esm/src/wallet/sdk/ProtoWallet.js.map +1 -0
  367. package/dist/esm/src/wallet/sdk/StorageSyncReader.js +2 -0
  368. package/dist/esm/src/wallet/sdk/StorageSyncReader.js.map +1 -0
  369. package/dist/esm/src/wallet/sdk/WERR_errors.js +99 -0
  370. package/dist/esm/src/wallet/sdk/WERR_errors.js.map +1 -0
  371. package/dist/esm/src/wallet/sdk/Wallet.interfaces.js +2 -0
  372. package/dist/esm/src/wallet/sdk/Wallet.interfaces.js.map +1 -0
  373. package/dist/esm/src/wallet/sdk/WalletCrypto.js +168 -0
  374. package/dist/esm/src/wallet/sdk/WalletCrypto.js.map +1 -0
  375. package/dist/esm/src/wallet/sdk/WalletError.js +100 -0
  376. package/dist/esm/src/wallet/sdk/WalletError.js.map +1 -0
  377. package/dist/esm/src/wallet/sdk/WalletServices.interfaces.js +2 -0
  378. package/dist/esm/src/wallet/sdk/WalletServices.interfaces.js.map +1 -0
  379. package/dist/esm/src/wallet/sdk/WalletSigner.interfaces.js +2 -0
  380. package/dist/esm/src/wallet/sdk/WalletSigner.interfaces.js.map +1 -0
  381. package/dist/esm/src/wallet/sdk/WalletStorage.interfaces.js +2 -0
  382. package/dist/esm/src/wallet/sdk/WalletStorage.interfaces.js.map +1 -0
  383. package/dist/esm/src/wallet/sdk/index.js +15 -0
  384. package/dist/esm/src/wallet/sdk/index.js.map +1 -0
  385. package/dist/esm/src/wallet/sdk/types.js +8 -0
  386. package/dist/esm/src/wallet/sdk/types.js.map +1 -0
  387. package/dist/esm/src/wallet/sdk/validationHelpers.js +566 -0
  388. package/dist/esm/src/wallet/sdk/validationHelpers.js.map +1 -0
  389. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +9 -1
  390. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  391. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js +1 -1
  392. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  393. package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js +1962 -0
  394. package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +1 -0
  395. package/dist/esm/src/wallet/substrates/__tests/XDM.test.js +579 -0
  396. package/dist/esm/src/wallet/substrates/__tests/XDM.test.js.map +1 -0
  397. package/dist/esm/src/wallet/substrates/utils/toOriginHeader.js +17 -0
  398. package/dist/esm/src/wallet/substrates/utils/toOriginHeader.js.map +1 -0
  399. package/dist/esm/src/wallet/utilityHelpers.js +275 -0
  400. package/dist/esm/src/wallet/utilityHelpers.js.map +1 -0
  401. package/dist/esm/src/wallet/validationHelpers.js +566 -0
  402. package/dist/esm/src/wallet/validationHelpers.js.map +1 -0
  403. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  404. package/dist/types/src/auth/__tests/Peer.test.d.ts +2 -0
  405. package/dist/types/src/auth/__tests/Peer.test.d.ts.map +1 -0
  406. package/dist/types/src/auth/__tests/SessionManager.test.d.ts +2 -0
  407. package/dist/types/src/auth/__tests/SessionManager.test.d.ts.map +1 -0
  408. package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts +2 -0
  409. package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts.map +1 -0
  410. package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts +2 -0
  411. package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts.map +1 -0
  412. package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts +2 -0
  413. package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts.map +1 -0
  414. package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts +2 -0
  415. package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts.map +1 -0
  416. package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts +2 -0
  417. package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts.map +1 -0
  418. package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts +2 -0
  419. package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts.map +1 -0
  420. package/dist/types/src/auth/utils/certificateHelpers.d.ts +26 -0
  421. package/dist/types/src/auth/utils/certificateHelpers.d.ts.map +1 -0
  422. package/dist/types/src/compat/__tests/BSM.test.d.ts +2 -0
  423. package/dist/types/src/compat/__tests/BSM.test.d.ts.map +1 -0
  424. package/dist/types/src/compat/__tests/ECIES.test.d.ts +2 -0
  425. package/dist/types/src/compat/__tests/ECIES.test.d.ts.map +1 -0
  426. package/dist/types/src/compat/__tests/HD.test.d.ts +2 -0
  427. package/dist/types/src/compat/__tests/HD.test.d.ts.map +1 -0
  428. package/dist/types/src/compat/__tests/Mnemonic.test.d.ts +2 -0
  429. package/dist/types/src/compat/__tests/Mnemonic.test.d.ts.map +1 -0
  430. package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts +11 -0
  431. package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts.map +1 -0
  432. package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts +2 -0
  433. package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts.map +1 -0
  434. package/dist/types/src/messages/__tests/SignedMessage.test.d.ts +2 -0
  435. package/dist/types/src/messages/__tests/SignedMessage.test.d.ts.map +1 -0
  436. package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts +2 -0
  437. package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts.map +1 -0
  438. package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts +2 -0
  439. package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts.map +1 -0
  440. package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts +2 -0
  441. package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts.map +1 -0
  442. package/dist/types/src/primitives/__tests/AESGCM.test.d.ts +2 -0
  443. package/dist/types/src/primitives/__tests/AESGCM.test.d.ts.map +1 -0
  444. package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts +8 -0
  445. package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts.map +1 -0
  446. package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts +8 -0
  447. package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts.map +1 -0
  448. package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts +2 -0
  449. package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts.map +1 -0
  450. package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts +2 -0
  451. package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts.map +1 -0
  452. package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts +2 -0
  453. package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts.map +1 -0
  454. package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts +2 -0
  455. package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts.map +1 -0
  456. package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts +15 -0
  457. package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts.map +1 -0
  458. package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts +2 -0
  459. package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts.map +1 -0
  460. package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts +2 -0
  461. package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts.map +1 -0
  462. package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts +2 -0
  463. package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts.map +1 -0
  464. package/dist/types/src/primitives/__tests/DRBG.test.d.ts +2 -0
  465. package/dist/types/src/primitives/__tests/DRBG.test.d.ts.map +1 -0
  466. package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts +10 -0
  467. package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts.map +1 -0
  468. package/dist/types/src/primitives/__tests/ECDH.test.d.ts +2 -0
  469. package/dist/types/src/primitives/__tests/ECDH.test.d.ts.map +1 -0
  470. package/dist/types/src/primitives/__tests/ECDSA.test.d.ts +2 -0
  471. package/dist/types/src/primitives/__tests/ECDSA.test.d.ts.map +1 -0
  472. package/dist/types/src/primitives/__tests/HMAC.test.d.ts +2 -0
  473. package/dist/types/src/primitives/__tests/HMAC.test.d.ts.map +1 -0
  474. package/dist/types/src/primitives/__tests/Hash.test.d.ts +2 -0
  475. package/dist/types/src/primitives/__tests/Hash.test.d.ts.map +1 -0
  476. package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts +68 -0
  477. package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts.map +1 -0
  478. package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts +2 -0
  479. package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts.map +1 -0
  480. package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts +2 -0
  481. package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts.map +1 -0
  482. package/dist/types/src/primitives/__tests/PublicKey.test.d.ts +2 -0
  483. package/dist/types/src/primitives/__tests/PublicKey.test.d.ts.map +1 -0
  484. package/dist/types/src/primitives/__tests/Random.test.d.ts +2 -0
  485. package/dist/types/src/primitives/__tests/Random.test.d.ts.map +1 -0
  486. package/dist/types/src/primitives/__tests/Reader.test.d.ts +2 -0
  487. package/dist/types/src/primitives/__tests/Reader.test.d.ts.map +1 -0
  488. package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts +2 -0
  489. package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts.map +1 -0
  490. package/dist/types/src/primitives/__tests/Schnorr.test.d.ts +2 -0
  491. package/dist/types/src/primitives/__tests/Schnorr.test.d.ts.map +1 -0
  492. package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts +2 -0
  493. package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts.map +1 -0
  494. package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts +20 -0
  495. package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts.map +1 -0
  496. package/dist/types/src/primitives/__tests/Writer.test.d.ts +2 -0
  497. package/dist/types/src/primitives/__tests/Writer.test.d.ts.map +1 -0
  498. package/dist/types/src/primitives/__tests/bug-31.test.d.ts +2 -0
  499. package/dist/types/src/primitives/__tests/bug-31.test.d.ts.map +1 -0
  500. package/dist/types/src/primitives/__tests/sighash.vectors.d.ts +3 -0
  501. package/dist/types/src/primitives/__tests/sighash.vectors.d.ts.map +1 -0
  502. package/dist/types/src/primitives/__tests/utils.test.d.ts +2 -0
  503. package/dist/types/src/primitives/__tests/utils.test.d.ts.map +1 -0
  504. package/dist/types/src/primitives/utils.d.ts +2 -1
  505. package/dist/types/src/primitives/utils.d.ts.map +1 -1
  506. package/dist/types/src/script/__tests/Script.test.d.ts +2 -0
  507. package/dist/types/src/script/__tests/Script.test.d.ts.map +1 -0
  508. package/dist/types/src/script/__tests/Spend.test.d.ts +2 -0
  509. package/dist/types/src/script/__tests/Spend.test.d.ts.map +1 -0
  510. package/dist/types/src/script/__tests/SpendComplex.test.d.ts +2 -0
  511. package/dist/types/src/script/__tests/SpendComplex.test.d.ts.map +1 -0
  512. package/dist/types/src/script/__tests/script.invalid.vectors.d.ts +3 -0
  513. package/dist/types/src/script/__tests/script.invalid.vectors.d.ts.map +1 -0
  514. package/dist/types/src/script/__tests/script.valid.vectors.d.ts +3 -0
  515. package/dist/types/src/script/__tests/script.valid.vectors.d.ts.map +1 -0
  516. package/dist/types/src/script/__tests/spend.valid.vectors.d.ts +3 -0
  517. package/dist/types/src/script/__tests/spend.valid.vectors.d.ts.map +1 -0
  518. package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts +2 -0
  519. package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts.map +1 -0
  520. package/dist/types/src/totp/__tests/totp.test.d.ts +2 -0
  521. package/dist/types/src/totp/__tests/totp.test.d.ts.map +1 -0
  522. package/dist/types/src/transaction/__tests/Beef.test.d.ts +2 -0
  523. package/dist/types/src/transaction/__tests/Beef.test.d.ts.map +1 -0
  524. package/dist/types/src/transaction/__tests/MerklePath.test.d.ts +2 -0
  525. package/dist/types/src/transaction/__tests/MerklePath.test.d.ts.map +1 -0
  526. package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts +2 -0
  527. package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts.map +1 -0
  528. package/dist/types/src/transaction/__tests/Transaction.test.d.ts +2 -0
  529. package/dist/types/src/transaction/__tests/Transaction.test.d.ts.map +1 -0
  530. package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts +6 -0
  531. package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts.map +1 -0
  532. package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts +6 -0
  533. package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts.map +1 -0
  534. package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts +5 -0
  535. package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts.map +1 -0
  536. package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts +3 -0
  537. package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts.map +1 -0
  538. package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts +3 -0
  539. package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts.map +1 -0
  540. package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts +2 -0
  541. package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts.map +1 -0
  542. package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts +2 -0
  543. package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts.map +1 -0
  544. package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts +2 -0
  545. package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts.map +1 -0
  546. package/dist/types/src/wallet/ScriptTemplateSABPPP.d.ts +25 -0
  547. package/dist/types/src/wallet/ScriptTemplateSABPPP.d.ts.map +1 -0
  548. package/dist/types/src/wallet/WalletSigner.d.ts +110 -0
  549. package/dist/types/src/wallet/WalletSigner.d.ts.map +1 -0
  550. package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts +2 -0
  551. package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts.map +1 -0
  552. package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts +2 -0
  553. package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts.map +1 -0
  554. package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts +2 -0
  555. package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts.map +1 -0
  556. package/dist/types/src/wallet/createActionSdk.d.ts +8 -0
  557. package/dist/types/src/wallet/createActionSdk.d.ts.map +1 -0
  558. package/dist/types/src/wallet/sdk/CachedKeyDeriver.d.ts +94 -0
  559. package/dist/types/src/wallet/sdk/CachedKeyDeriver.d.ts.map +1 -0
  560. package/dist/types/src/wallet/sdk/CertOps.d.ts +63 -0
  561. package/dist/types/src/wallet/sdk/CertOps.d.ts.map +1 -0
  562. package/dist/types/src/wallet/sdk/Certificate.d.ts +77 -0
  563. package/dist/types/src/wallet/sdk/Certificate.d.ts.map +1 -0
  564. package/dist/types/src/wallet/sdk/KeyDeriver.d.ts +128 -0
  565. package/dist/types/src/wallet/sdk/KeyDeriver.d.ts.map +1 -0
  566. package/dist/types/src/wallet/sdk/ProtoWallet.d.ts +30 -0
  567. package/dist/types/src/wallet/sdk/ProtoWallet.d.ts.map +1 -0
  568. package/dist/types/src/wallet/sdk/StorageSyncReader.d.ts +102 -0
  569. package/dist/types/src/wallet/sdk/StorageSyncReader.d.ts.map +1 -0
  570. package/dist/types/src/wallet/sdk/WERR_errors.d.ts +84 -0
  571. package/dist/types/src/wallet/sdk/WERR_errors.d.ts.map +1 -0
  572. package/dist/types/src/wallet/sdk/Wallet.interfaces.d.ts +1036 -0
  573. package/dist/types/src/wallet/sdk/Wallet.interfaces.d.ts.map +1 -0
  574. package/dist/types/src/wallet/sdk/WalletCrypto.d.ts +31 -0
  575. package/dist/types/src/wallet/sdk/WalletCrypto.d.ts.map +1 -0
  576. package/dist/types/src/wallet/sdk/WalletError.d.ts +46 -0
  577. package/dist/types/src/wallet/sdk/WalletError.d.ts.map +1 -0
  578. package/dist/types/src/wallet/sdk/WalletServices.interfaces.d.ts +293 -0
  579. package/dist/types/src/wallet/sdk/WalletServices.interfaces.d.ts.map +1 -0
  580. package/dist/types/src/wallet/sdk/WalletSigner.interfaces.d.ts +48 -0
  581. package/dist/types/src/wallet/sdk/WalletSigner.interfaces.d.ts.map +1 -0
  582. package/dist/types/src/wallet/sdk/WalletStorage.interfaces.d.ts +296 -0
  583. package/dist/types/src/wallet/sdk/WalletStorage.interfaces.d.ts.map +1 -0
  584. package/dist/types/src/wallet/sdk/index.d.ts +15 -0
  585. package/dist/types/src/wallet/sdk/index.d.ts.map +1 -0
  586. package/dist/types/src/wallet/sdk/types.d.ts +56 -0
  587. package/dist/types/src/wallet/sdk/types.d.ts.map +1 -0
  588. package/dist/types/src/wallet/sdk/validationHelpers.d.ts +301 -0
  589. package/dist/types/src/wallet/sdk/validationHelpers.d.ts.map +1 -0
  590. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
  591. package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts +2 -0
  592. package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts.map +1 -0
  593. package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts +5 -0
  594. package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts.map +1 -0
  595. package/dist/types/src/wallet/substrates/utils/toOriginHeader.d.ts +2 -0
  596. package/dist/types/src/wallet/substrates/utils/toOriginHeader.d.ts.map +1 -0
  597. package/dist/types/src/wallet/utilityHelpers.d.ts +142 -0
  598. package/dist/types/src/wallet/utilityHelpers.d.ts.map +1 -0
  599. package/dist/types/src/wallet/validationHelpers.d.ts +301 -0
  600. package/dist/types/src/wallet/validationHelpers.d.ts.map +1 -0
  601. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  602. package/dist/umd/bundle.js +1 -1
  603. package/docs/primitives.md +2 -1
  604. package/docs/wallet.md +9 -0
  605. package/package.json +4 -4
  606. package/src/primitives/utils.ts +20 -2
  607. package/src/transaction/__tests/Transaction.test.ts +1 -1
  608. package/src/wallet/substrates/HTTPWalletJSON.ts +11 -1
  609. package/src/wallet/substrates/WalletWireProcessor.ts +1 -1
  610. package/src/wallet/substrates/__tests/toOriginHeader.test.ts +34 -0
  611. package/src/wallet/substrates/utils/toOriginHeader.ts +15 -0
@@ -0,0 +1,601 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseWalletOutpoint = parseWalletOutpoint;
4
+ exports.validateSatoshis = validateSatoshis;
5
+ exports.validateOptionalInteger = validateOptionalInteger;
6
+ exports.validateInteger = validateInteger;
7
+ exports.validatePositiveIntegerOrZero = validatePositiveIntegerOrZero;
8
+ exports.validateStringLength = validateStringLength;
9
+ exports.isHexString = isHexString;
10
+ exports.validateCreateActionInput = validateCreateActionInput;
11
+ exports.validateCreateActionOutput = validateCreateActionOutput;
12
+ exports.validateCreateActionOptions = validateCreateActionOptions;
13
+ exports.validateCreateActionArgs = validateCreateActionArgs;
14
+ exports.validateSignActionOptions = validateSignActionOptions;
15
+ exports.validateSignActionArgs = validateSignActionArgs;
16
+ exports.validateAbortActionArgs = validateAbortActionArgs;
17
+ exports.validateWalletPayment = validateWalletPayment;
18
+ exports.validateBasketInsertion = validateBasketInsertion;
19
+ exports.validateInternalizeOutput = validateInternalizeOutput;
20
+ exports.validateOriginator = validateOriginator;
21
+ exports.validateInternalizeActionArgs = validateInternalizeActionArgs;
22
+ exports.validateOptionalOutpointString = validateOptionalOutpointString;
23
+ exports.validateOutpointString = validateOutpointString;
24
+ exports.validateRelinquishOutputArgs = validateRelinquishOutputArgs;
25
+ exports.validateRelinquishCertificateArgs = validateRelinquishCertificateArgs;
26
+ exports.validateListCertificatesArgs = validateListCertificatesArgs;
27
+ exports.validateAcquireCertificateArgs = validateAcquireCertificateArgs;
28
+ exports.validateAcquireDirectCertificateArgs = validateAcquireDirectCertificateArgs;
29
+ exports.validateProveCertificateArgs = validateProveCertificateArgs;
30
+ exports.validateDiscoverByIdentityKeyArgs = validateDiscoverByIdentityKeyArgs;
31
+ exports.validateDiscoverByAttributesArgs = validateDiscoverByAttributesArgs;
32
+ exports.validateListOutputsArgs = validateListOutputsArgs;
33
+ exports.validateListActionsArgs = validateListActionsArgs;
34
+ const sdk_1 = require("@bsv/sdk");
35
+ const __1 = require("..");
36
+ function parseWalletOutpoint(outpoint) {
37
+ const [txid, vout] = outpoint.split('.');
38
+ return { txid, vout: Number(vout) };
39
+ }
40
+ function defaultTrue(v) { return v === undefined ? true : v; }
41
+ function defaultFalse(v) { return v === undefined ? false : v; }
42
+ function defaultZero(v) { return v === undefined ? 0 : v; }
43
+ function default0xffffffff(v) { return v === undefined ? 0xffffffff : v; }
44
+ function defaultOne(v) { return v === undefined ? 1 : v; }
45
+ function defaultEmpty(v) { return v === undefined ? [] : v; }
46
+ function validateOptionalStringLength(s, name, min, max) {
47
+ if (s === undefined)
48
+ return undefined;
49
+ return validateOptionalStringLength(s, name, min, max);
50
+ }
51
+ function validateSatoshis(v, name, min) {
52
+ if (v === undefined || !Number.isInteger(v) || v < 0 || v > 21e14)
53
+ throw new __1.sdk.WERR_INVALID_PARAMETER(name, 'a valid number of satoshis');
54
+ if (min !== undefined && v < min)
55
+ throw new __1.sdk.WERR_INVALID_PARAMETER(name, `at least ${min} satoshis.`);
56
+ return v;
57
+ }
58
+ function validateOptionalInteger(v, name, min, max) {
59
+ if (v === undefined)
60
+ return undefined;
61
+ return validateInteger(v, name, undefined, min, max);
62
+ }
63
+ function validateInteger(v, name, defaultValue, min, max) {
64
+ if (v === undefined) {
65
+ if (defaultValue !== undefined)
66
+ return defaultValue;
67
+ throw new __1.sdk.WERR_INVALID_PARAMETER(name, 'a valid integer');
68
+ }
69
+ if (!Number.isInteger(v))
70
+ throw new __1.sdk.WERR_INVALID_PARAMETER(name, 'an integer');
71
+ v = Number(v);
72
+ if (min !== undefined && v < min)
73
+ throw new __1.sdk.WERR_INVALID_PARAMETER(name, `at least ${min} length.`);
74
+ if (max !== undefined && v > max)
75
+ throw new __1.sdk.WERR_INVALID_PARAMETER(name, `no more than ${max} length.`);
76
+ return v;
77
+ }
78
+ function validatePositiveIntegerOrZero(v, name) {
79
+ return validateInteger(v, name, 0, 0);
80
+ }
81
+ function validateStringLength(s, name, min, max) {
82
+ const bytes = sdk_1.Utils.toArray(s, 'utf8').length;
83
+ if (min !== undefined && bytes < min)
84
+ throw new __1.sdk.WERR_INVALID_PARAMETER(name, `at least ${min} length.`);
85
+ if (max !== undefined && bytes > max)
86
+ throw new __1.sdk.WERR_INVALID_PARAMETER(name, `no more than ${max} length.`);
87
+ return s;
88
+ }
89
+ function validateOptionalBasket(s) {
90
+ if (s === undefined)
91
+ return undefined;
92
+ return validateBasket(s);
93
+ }
94
+ function validateBasket(s) {
95
+ return validateIdentifier(s, 'basket', 1, 300);
96
+ }
97
+ function validateLabel(s) {
98
+ return validateIdentifier(s, 'label', 1, 300);
99
+ }
100
+ function validateTag(s) {
101
+ return validateIdentifier(s, 'tag', 1, 300);
102
+ }
103
+ function validateIdentifier(s, name, min, max) {
104
+ s = s.trim().toLowerCase();
105
+ const bytes = sdk_1.Utils.toArray(s, 'utf8').length;
106
+ if (min !== undefined && bytes < min)
107
+ throw new __1.sdk.WERR_INVALID_PARAMETER(name, `at least ${min} length.`);
108
+ if (max !== undefined && bytes > max)
109
+ throw new __1.sdk.WERR_INVALID_PARAMETER(name, `no more than ${max} length.`);
110
+ return s;
111
+ }
112
+ function validateOptionalBase64String(s, name, min, max) {
113
+ if (s === undefined)
114
+ return undefined;
115
+ return validateBase64String(s, name, min, max);
116
+ }
117
+ function validateBase64String(s, name, min, max) {
118
+ var _a;
119
+ // Remove any whitespace and check if the string length is valid for Base64
120
+ s = s.trim();
121
+ const base64Regex = /^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/;
122
+ const paddingCount = ((_a = (s.match(/=+$/) || [])[0]) === null || _a === void 0 ? void 0 : _a.length) || 0;
123
+ if (paddingCount > 2 || (s.length % 4 !== 0 && paddingCount !== 0) || !base64Regex.test(s)) {
124
+ throw new __1.sdk.WERR_INVALID_PARAMETER(name, `balid base64 string`);
125
+ }
126
+ const bytes = sdk_1.Utils.toArray(s, 'base64').length;
127
+ if (min !== undefined && bytes < min)
128
+ throw new __1.sdk.WERR_INVALID_PARAMETER(name, `at least ${min} length.`);
129
+ if (max !== undefined && bytes > max)
130
+ throw new __1.sdk.WERR_INVALID_PARAMETER(name, `no more than ${max} length.`);
131
+ return s;
132
+ }
133
+ function validateOptionalHexString(s, name, min, max) {
134
+ if (s === undefined)
135
+ return undefined;
136
+ return validateHexString(s, name, min, max);
137
+ }
138
+ /**
139
+ * @param s
140
+ * @param name
141
+ * @param min if valid, string length minimum (not bytes)
142
+ * @param max if valid, string length maximum (not bytes)
143
+ * @returns
144
+ */
145
+ function validateHexString(s, name, min, max) {
146
+ s = s.trim().toLowerCase();
147
+ if (s.length % 2 === 1)
148
+ throw new __1.sdk.WERR_INVALID_PARAMETER(name, `even length, not ${s.length}.`);
149
+ const hexRegex = /^[0-9A-Fa-f]+$/;
150
+ if (!hexRegex.test(s))
151
+ throw new __1.sdk.WERR_INVALID_PARAMETER(name, `hexadecimal string.`);
152
+ if (min !== undefined && s.length < min)
153
+ throw new __1.sdk.WERR_INVALID_PARAMETER(name, `at least ${min} length.`);
154
+ if (max !== undefined && s.length > max)
155
+ throw new __1.sdk.WERR_INVALID_PARAMETER(name, `no more than ${max} length.`);
156
+ return s;
157
+ }
158
+ function isHexString(s) {
159
+ s = s.trim();
160
+ if (s.length % 2 === 1)
161
+ return false;
162
+ const hexRegex = /^[0-9A-Fa-f]+$/;
163
+ if (!hexRegex.test(s))
164
+ return false;
165
+ return true;
166
+ }
167
+ function validateCreateActionInput(i) {
168
+ if (i.unlockingScript === undefined && i.unlockingScriptLength === undefined)
169
+ throw new __1.sdk.WERR_INVALID_PARAMETER('unlockingScript, unlockingScriptLength', `at least one valid value.`);
170
+ const unlockingScript = validateOptionalHexString(i.unlockingScript, 'unlockingScript');
171
+ const unlockingScriptLength = i.unlockingScriptLength || unlockingScript.length / 2;
172
+ if (unlockingScript && unlockingScriptLength !== unlockingScript.length / 2)
173
+ throw new __1.sdk.WERR_INVALID_PARAMETER('unlockingScriptLength', `length unlockingScript if both valid.`);
174
+ const vi = {
175
+ outpoint: parseWalletOutpoint(i.outpoint),
176
+ inputDescription: validateStringLength(i.inputDescription, 'inputDescription', 5, 50),
177
+ unlockingScript,
178
+ unlockingScriptLength,
179
+ sequenceNumber: default0xffffffff(i.sequenceNumber)
180
+ };
181
+ return vi;
182
+ }
183
+ function validateCreateActionOutput(o) {
184
+ const vo = {
185
+ lockingScript: validateHexString(o.lockingScript, 'lockingScript'),
186
+ satoshis: validateSatoshis(o.satoshis, 'satoshis'),
187
+ outputDescription: validateStringLength(o.outputDescription, 'outputDescription', 5, 50),
188
+ basket: validateOptionalBasket(o.basket),
189
+ customInstructions: o.customInstructions,
190
+ tags: defaultEmpty(o.tags).map(t => validateTag(t))
191
+ };
192
+ return vo;
193
+ }
194
+ /**
195
+ * Set all default true/false booleans to true or false if undefined.
196
+ * Set all possibly undefined numbers to their default values.
197
+ * Set all possibly undefined arrays to empty arrays.
198
+ * Convert string outpoints to `{ txid: string, vout: number }`
199
+ */
200
+ function validateCreateActionOptions(options) {
201
+ const o = options || {};
202
+ const vo = {
203
+ signAndProcess: defaultTrue(o.signAndProcess),
204
+ acceptDelayedBroadcast: defaultTrue(o.acceptDelayedBroadcast),
205
+ knownTxids: defaultEmpty(o.knownTxids),
206
+ returnTXIDOnly: defaultFalse(o.returnTXIDOnly),
207
+ noSend: defaultFalse(o.noSend),
208
+ noSendChange: defaultEmpty(o.noSendChange).map(nsc => parseWalletOutpoint(nsc)),
209
+ sendWith: defaultEmpty(o.sendWith),
210
+ randomizeOutputs: defaultTrue(o.randomizeOutputs)
211
+ };
212
+ return vo;
213
+ }
214
+ function validateCreateActionArgs(args) {
215
+ var _a;
216
+ const vargs = {
217
+ description: validateStringLength(args.description, 'description', 5, 50),
218
+ inputBEEF: args.inputBEEF,
219
+ inputs: defaultEmpty(args.inputs).map(i => validateCreateActionInput(i)),
220
+ outputs: defaultEmpty(args.outputs).map(o => validateCreateActionOutput(o)),
221
+ lockTime: defaultZero(args.lockTime),
222
+ version: defaultOne(args.version),
223
+ labels: defaultEmpty((_a = args.labels) === null || _a === void 0 ? void 0 : _a.map(l => validateLabel(l))),
224
+ options: validateCreateActionOptions(args.options),
225
+ isSendWith: false,
226
+ isDelayed: false,
227
+ isNoSend: false,
228
+ isNewTx: false,
229
+ isSignAction: false,
230
+ };
231
+ vargs.isSendWith = vargs.options.sendWith.length > 0;
232
+ vargs.isNewTx = (vargs.inputs.length > 0) || (vargs.outputs.length > 0);
233
+ vargs.isSignAction = vargs.isNewTx && (vargs.options.signAndProcess === false || vargs.inputs.some(i => i.unlockingScript === undefined));
234
+ vargs.isDelayed = vargs.options.acceptDelayedBroadcast;
235
+ vargs.isNoSend = vargs.options.noSend;
236
+ if (!vargs.isSendWith && !vargs.isNewTx)
237
+ throw new __1.sdk.WERR_INVALID_PARAMETER('args', 'either at least one input or output, or a sendWith.');
238
+ return vargs;
239
+ }
240
+ /**
241
+ * Set all default true/false booleans to true or false if undefined.
242
+ * Set all possibly undefined numbers to their default values.
243
+ * Set all possibly undefined arrays to empty arrays.
244
+ * Convert string outpoints to `{ txid: string, vout: number }`
245
+ */
246
+ function validateSignActionOptions(options) {
247
+ const o = options || {};
248
+ const vo = {
249
+ acceptDelayedBroadcast: defaultTrue(o.acceptDelayedBroadcast),
250
+ returnTXIDOnly: defaultFalse(o.returnTXIDOnly),
251
+ noSend: defaultFalse(o.noSend),
252
+ sendWith: defaultEmpty(o.sendWith)
253
+ };
254
+ return vo;
255
+ }
256
+ function validateSignActionArgs(args) {
257
+ const vargs = {
258
+ spends: args.spends,
259
+ reference: args.reference,
260
+ options: validateSignActionOptions(args.options),
261
+ isSendWith: false,
262
+ isDelayed: false,
263
+ isNoSend: false,
264
+ isNewTx: true,
265
+ userId: undefined,
266
+ log: ''
267
+ };
268
+ vargs.isSendWith = vargs.options.sendWith.length > 0;
269
+ vargs.isDelayed = vargs.options.acceptDelayedBroadcast;
270
+ vargs.isNoSend = vargs.options.noSend;
271
+ return vargs;
272
+ }
273
+ function validateAbortActionArgs(args) {
274
+ const vargs = {
275
+ reference: validateBase64String(args.reference, 'reference'),
276
+ userId: undefined,
277
+ log: ''
278
+ };
279
+ return vargs;
280
+ }
281
+ function validateWalletPayment(args) {
282
+ if (args === undefined)
283
+ return undefined;
284
+ const v = {
285
+ derivationPrefix: validateBase64String(args.derivationPrefix, 'derivationPrefix'),
286
+ derivationSuffix: validateBase64String(args.derivationSuffix, 'derivationSuffix'),
287
+ senderIdentityKey: validateHexString(args.senderIdentityKey, 'senderIdentityKey')
288
+ };
289
+ return v;
290
+ }
291
+ function validateBasketInsertion(args) {
292
+ if (args === undefined)
293
+ return undefined;
294
+ const v = {
295
+ basket: validateBasket(args.basket),
296
+ customInstructions: validateOptionalStringLength(args.customInstructions, 'customInstructions', 0, 1000), // TODO: real max??
297
+ tags: defaultEmpty(args.tags).map(t => validateTag(t))
298
+ };
299
+ return v;
300
+ }
301
+ function validateInternalizeOutput(args) {
302
+ if (args.protocol !== 'basket insertion' && args.protocol !== 'wallet payment')
303
+ throw new __1.sdk.WERR_INVALID_PARAMETER('protocol', `'basket insertion' or 'wallet payment'`);
304
+ const v = {
305
+ outputIndex: validatePositiveIntegerOrZero(args.outputIndex, 'outputIndex'),
306
+ protocol: args.protocol,
307
+ paymentRemittance: validateWalletPayment(args.paymentRemittance),
308
+ insertionRemittance: validateBasketInsertion(args.insertionRemittance)
309
+ };
310
+ return v;
311
+ }
312
+ function validateOriginator(s) {
313
+ if (s === undefined)
314
+ return undefined;
315
+ s = s.trim().toLowerCase();
316
+ validateStringLength(s, 'originator', 1, 250);
317
+ const sps = s.split('.');
318
+ for (const sp of sps) {
319
+ validateStringLength(sp, 'originator part', 1, 63);
320
+ }
321
+ }
322
+ function validateInternalizeActionArgs(args) {
323
+ const vargs = {
324
+ tx: args.tx,
325
+ outputs: args.outputs.map(o => validateInternalizeOutput(o)),
326
+ description: validateStringLength(args.description, 'description', 5, 50),
327
+ labels: (args.labels || []).map(t => validateLabel(t)),
328
+ seekPermission: defaultTrue(args.seekPermission),
329
+ userId: undefined,
330
+ log: ''
331
+ };
332
+ return vargs;
333
+ }
334
+ function validateOptionalOutpointString(outpoint, name) {
335
+ if (outpoint === undefined)
336
+ return undefined;
337
+ return validateOutpointString(outpoint, name);
338
+ }
339
+ function validateOutpointString(outpoint, name) {
340
+ const s = outpoint.split('.');
341
+ if (s.length !== 2 || !Number.isInteger(Number(s[1])))
342
+ throw new __1.sdk.WERR_INVALID_PARAMETER(name, `txid as hex string and numeric output index joined with '.'`);
343
+ const txid = validateHexString(s[0], `${name} txid`, undefined, 64);
344
+ const vout = validatePositiveIntegerOrZero(Number(s[1]), `${name} vout`);
345
+ return `${txid}.${vout}`;
346
+ }
347
+ function validateRelinquishOutputArgs(args) {
348
+ const vargs = {
349
+ basket: validateBasket(args.basket),
350
+ output: validateOutpointString(args.output, 'output'),
351
+ userId: undefined,
352
+ log: ''
353
+ };
354
+ return vargs;
355
+ }
356
+ function validateRelinquishCertificateArgs(args) {
357
+ const vargs = {
358
+ type: validateBase64String(args.type, 'type'),
359
+ serialNumber: validateBase64String(args.serialNumber, 'serialNumber'),
360
+ certifier: validateHexString(args.certifier, 'certifier'),
361
+ userId: undefined,
362
+ log: ''
363
+ };
364
+ return vargs;
365
+ }
366
+ function validateListCertificatesArgs(args) {
367
+ const vargs = {
368
+ certifiers: defaultEmpty(args.certifiers.map(c => validateHexString(c.trim(), 'certifiers'))),
369
+ types: defaultEmpty(args.types.map(t => validateBase64String(t.trim(), 'types'))),
370
+ limit: validateInteger(args.limit, 'limit', 10, 1, 10000),
371
+ offset: validatePositiveIntegerOrZero(defaultZero(args.offset), 'offset'),
372
+ privileged: defaultFalse(args.privileged),
373
+ privilegedReason: validateOptionalStringLength(args.privilegedReason, 'privilegedReason', 5, 50),
374
+ partial: undefined,
375
+ userId: undefined,
376
+ log: ''
377
+ };
378
+ return vargs;
379
+ }
380
+ function validateCertificateFields(fields) {
381
+ for (const fieldName of Object.keys(fields)) {
382
+ validateStringLength(fieldName, 'field name', 1, 50);
383
+ }
384
+ return fields;
385
+ }
386
+ function validateKeyringRevealer(kr, name) {
387
+ if (kr === 'certifier')
388
+ return kr;
389
+ return validateHexString(kr, name);
390
+ }
391
+ function validateOptionalKeyringRevealer(kr, name) {
392
+ if (kr === undefined)
393
+ return undefined;
394
+ return validateKeyringRevealer(kr, name);
395
+ }
396
+ function validateKeyringForSubject(kr, name) {
397
+ for (const fn of Object.keys(kr)) {
398
+ validateStringLength(fn, `${name} field name`, 1, 50);
399
+ validateBase64String(kr[fn], `${name} field value`);
400
+ }
401
+ return kr;
402
+ }
403
+ function validateOptionalKeyringForSubject(kr, name) {
404
+ if (kr === undefined)
405
+ return undefined;
406
+ return validateKeyringForSubject(kr, name);
407
+ }
408
+ /**
409
+ *
410
+ * @param args
411
+ * @param subject Must be valid for "direct" `acquisitionProtocol`. public key of the certificate subject.
412
+ * @returns
413
+ */
414
+ async function validateAcquireCertificateArgs(args) {
415
+ const vargs = {
416
+ acquisitionProtocol: args.acquisitionProtocol,
417
+ type: validateBase64String(args.type, 'type'),
418
+ serialNumber: validateOptionalBase64String(args.serialNumber, 'serialNumber'),
419
+ certifier: validateHexString(args.certifier, 'certifier'),
420
+ revocationOutpoint: validateOptionalOutpointString(args.revocationOutpoint, 'revocationOutpoint'),
421
+ fields: validateCertificateFields(args.fields),
422
+ signature: validateOptionalHexString(args.signature, 'signature'),
423
+ certifierUrl: args.certifierUrl,
424
+ keyringRevealer: validateOptionalKeyringRevealer(args.keyringRevealer, 'keyringRevealer'),
425
+ keyringForSubject: validateOptionalKeyringForSubject(args.keyringForSubject, 'keyringForSubject'),
426
+ privileged: defaultFalse(args.privileged),
427
+ privilegedReason: validateOptionalStringLength(args.privilegedReason, 'privilegedReason', 5, 50),
428
+ userId: undefined,
429
+ log: ''
430
+ };
431
+ if (vargs.privileged && !vargs.privilegedReason)
432
+ throw new __1.sdk.WERR_INVALID_PARAMETER('privilegedReason', `valid when 'privileged' is true `);
433
+ if (vargs.acquisitionProtocol === 'direct') {
434
+ if (!vargs.serialNumber)
435
+ throw new __1.sdk.WERR_INVALID_PARAMETER('serialNumber', 'valid when acquisitionProtocol is "direct"');
436
+ if (!vargs.signature)
437
+ throw new __1.sdk.WERR_INVALID_PARAMETER('signature', 'valid when acquisitionProtocol is "direct"');
438
+ if (!vargs.revocationOutpoint)
439
+ throw new __1.sdk.WERR_INVALID_PARAMETER('revocationOutpoint', 'valid when acquisitionProtocol is "direct"');
440
+ }
441
+ return vargs;
442
+ }
443
+ function validateAcquireDirectCertificateArgs(args) {
444
+ if (args.acquisitionProtocol !== 'direct')
445
+ throw new __1.sdk.WERR_INTERNAL('Only acquire direct certificate requests allowed here.');
446
+ if (!args.serialNumber)
447
+ throw new __1.sdk.WERR_INVALID_PARAMETER('serialNumber', 'valid when acquisitionProtocol is "direct"');
448
+ if (!args.signature)
449
+ throw new __1.sdk.WERR_INVALID_PARAMETER('signature', 'valid when acquisitionProtocol is "direct"');
450
+ if (!args.revocationOutpoint)
451
+ throw new __1.sdk.WERR_INVALID_PARAMETER('revocationOutpoint', 'valid when acquisitionProtocol is "direct"');
452
+ if (!args.keyringRevealer)
453
+ throw new __1.sdk.WERR_INVALID_PARAMETER('keyringRevealer', 'valid when acquisitionProtocol is "direct"');
454
+ if (!args.keyringForSubject)
455
+ throw new __1.sdk.WERR_INVALID_PARAMETER('keyringForSubject', 'valid when acquisitionProtocol is "direct"');
456
+ if (args.privileged && !args.privilegedReason)
457
+ throw new __1.sdk.WERR_INVALID_PARAMETER('privilegedReason', `valid when 'privileged' is true `);
458
+ const vargs = {
459
+ type: validateBase64String(args.type, 'type'),
460
+ serialNumber: validateBase64String(args.serialNumber, 'serialNumber'),
461
+ certifier: validateHexString(args.certifier, 'certifier'),
462
+ revocationOutpoint: validateOutpointString(args.revocationOutpoint, 'revocationOutpoint'),
463
+ fields: validateCertificateFields(args.fields),
464
+ signature: validateHexString(args.signature, 'signature'),
465
+ keyringRevealer: validateKeyringRevealer(args.keyringRevealer, 'keyringRevealer'),
466
+ keyringForSubject: validateKeyringForSubject(args.keyringForSubject, 'keyringForSubject'),
467
+ privileged: defaultFalse(args.privileged),
468
+ privilegedReason: validateOptionalStringLength(args.privilegedReason, 'privilegedReason', 5, 50),
469
+ subject: '',
470
+ userId: undefined,
471
+ log: ''
472
+ };
473
+ return vargs;
474
+ }
475
+ function validateProveCertificateArgs(args) {
476
+ if (args.privileged && !args.privilegedReason)
477
+ throw new __1.sdk.WERR_INVALID_PARAMETER('privilegedReason', `valid when 'privileged' is true `);
478
+ const vargs = {
479
+ type: validateOptionalBase64String(args.certificate.type, 'certificate.type'),
480
+ serialNumber: validateOptionalBase64String(args.certificate.serialNumber, 'certificate.serialNumber'),
481
+ certifier: validateOptionalHexString(args.certificate.certifier, 'certificate.certifier'),
482
+ subject: validateOptionalHexString(args.certificate.subject, 'certificate.subject'),
483
+ revocationOutpoint: validateOptionalOutpointString(args.certificate.revocationOutpoint, 'certificate.revocationOutpoint'),
484
+ signature: validateOptionalHexString(args.certificate.signature, 'certificate.signature'),
485
+ fieldsToReveal: defaultEmpty(args.fieldsToReveal).map(fieldName => validateStringLength(`fieldsToReveal ${fieldName}`, 'valid field name', 1, 50)),
486
+ verifier: validateHexString(args.verifier, 'verifier'),
487
+ privileged: defaultFalse(args.privileged),
488
+ privilegedReason: validateOptionalStringLength(args.privilegedReason, 'privilegedReason', 5, 50),
489
+ userId: undefined,
490
+ log: ''
491
+ };
492
+ return vargs;
493
+ }
494
+ function validateDiscoverByIdentityKeyArgs(args) {
495
+ const vargs = {
496
+ identityKey: validateHexString(args.identityKey, 'identityKey', 66, 66),
497
+ limit: validateInteger(args.limit, 'limit', 10, 1, 10000),
498
+ offset: validatePositiveIntegerOrZero(defaultZero(args.offset), 'offset'),
499
+ seekPermission: defaultFalse(args.seekPermission),
500
+ userId: undefined,
501
+ log: ''
502
+ };
503
+ return vargs;
504
+ }
505
+ function validateAttributes(attributes) {
506
+ for (const fieldName of Object.keys(attributes)) {
507
+ validateStringLength(fieldName, `field name ${fieldName}`, 1, 50);
508
+ }
509
+ return attributes;
510
+ }
511
+ function validateDiscoverByAttributesArgs(args) {
512
+ const vargs = {
513
+ attributes: validateAttributes(args.attributes),
514
+ limit: validateInteger(args.limit, 'limit', 10, 1, 10000),
515
+ offset: validatePositiveIntegerOrZero(defaultZero(args.offset), 'offset'),
516
+ seekPermission: defaultFalse(args.seekPermission),
517
+ userId: undefined,
518
+ log: ''
519
+ };
520
+ return vargs;
521
+ }
522
+ /**
523
+ * @param {BasketStringUnder300Bytes} args.basket - Required. The associated basket name whose outputs should be listed.
524
+ * @param {OutputTagStringUnder300Bytes[]} [args.tags] - Optional. Filter outputs based on these tags.
525
+ * @param {'all' | 'any'} [args.tagQueryMode] - Optional. Filter mode, defining whether all or any of the tags must match. By default, any tag can match.
526
+ * @param {'locking scripts' | 'entire transactions'} [args.include] - Optional. Whether to include locking scripts (with each output) or entire transactions (as aggregated BEEF, at the top level) in the result. By default, unless specified, neither are returned.
527
+ * @param {BooleanDefaultFalse} [args.includeEntireTransactions] - Optional. Whether to include the entire transaction(s) in the result.
528
+ * @param {BooleanDefaultFalse} [args.includeCustomInstructions] - Optional. Whether custom instructions should be returned in the result.
529
+ * @param {BooleanDefaultFalse} [args.includeTags] - Optional. Whether the tags associated with the output should be returned.
530
+ * @param {BooleanDefaultFalse} [args.includeLabels] - Optional. Whether the labels associated with the transaction containing the output should be returned.
531
+ * @param {PositiveIntegerDefault10Max10000} [args.limit] - Optional limit on the number of outputs to return.
532
+ * @param {PositiveIntegerOrZero} [args.offset] - Optional. Number of outputs to skip before starting to return results.
533
+ * @param {BooleanDefaultTrue} [args.seekPermission] — Optional. Whether to seek permission from the user for this operation if required. Default true, will return an error rather than proceed if set to false.
534
+ */
535
+ function validateListOutputsArgs(args) {
536
+ let tagQueryMode;
537
+ if (args.tagQueryMode === undefined || args.tagQueryMode === 'any')
538
+ tagQueryMode = 'any';
539
+ else if (args.tagQueryMode === 'all')
540
+ tagQueryMode = 'all';
541
+ else
542
+ throw new __1.sdk.WERR_INVALID_PARAMETER('tagQueryMode', `undefined, 'any', or 'all'`);
543
+ const vargs = {
544
+ basket: validateStringLength(args.basket, 'basket', 1, 300),
545
+ tags: (args.tags || []).map(t => validateStringLength(t, 'tag', 1, 300)),
546
+ tagQueryMode,
547
+ includeLockingScripts: args.include === 'locking scripts',
548
+ includeTransactions: args.include === 'entire transactions',
549
+ includeCustomInstructions: defaultFalse(args.includeCustomInstructions),
550
+ includeTags: defaultFalse(args.includeTags),
551
+ includeLabels: defaultFalse(args.includeLabels),
552
+ limit: validateInteger(args.limit, 'limit', 10, 1, 10000),
553
+ offset: validateInteger(args.offset, 'offset', 0, 0, undefined),
554
+ seekPermission: defaultTrue(args.seekPermission),
555
+ knownTxids: [],
556
+ userId: undefined,
557
+ log: ''
558
+ };
559
+ return vargs;
560
+ }
561
+ /**
562
+ * @param {sdk.LabelStringUnder300Bytes[]} args.labels - An array of labels used to filter actions.
563
+ * @param {'any' | 'all'} [args.labelQueryMode] - Optional. Specifies how to match labels (default is any which matches any of the labels).
564
+ * @param {sdk.BooleanDefaultFalse} [args.includeLabels] - Optional. Whether to include transaction labels in the result set.
565
+ * @param {sdk.BooleanDefaultFalse} [args.includeInputs] - Optional. Whether to include input details in the result set.
566
+ * @param {sdk.BooleanDefaultFalse} [args.includeInputSourceLockingScripts] - Optional. Whether to include input source locking scripts in the result set.
567
+ * @param {sdk.BooleanDefaultFalse} [args.includeInputUnlockingScripts] - Optional. Whether to include input unlocking scripts in the result set.
568
+ * @param {sdk.BooleanDefaultFalse} [args.includeOutputs] - Optional. Whether to include output details in the result set.
569
+ * @param {sdk.BooleanDefaultFalse} [args.includeOutputLockingScripts] - Optional. Whether to include output locking scripts in the result set.
570
+ * @param {sdk.PositiveIntegerDefault10Max10000} [args.limit] - Optional. The maximum number of transactions to retrieve.
571
+ * @param {sdk.PositiveIntegerOrZero} [args.offset] - Optional. Number of transactions to skip before starting to return the results.
572
+ * @param {sdk.BooleanDefaultTrue} [args.seekPermission] — Optional. Whether to seek permission from the user for this operation if required. Default true, will return an error rather than proceed if set to false.
573
+ */
574
+ function validateListActionsArgs(args) {
575
+ let labelQueryMode;
576
+ if (args.labelQueryMode === undefined || args.labelQueryMode === 'any')
577
+ labelQueryMode = 'any';
578
+ else if (args.labelQueryMode === 'all')
579
+ labelQueryMode = 'all';
580
+ else
581
+ throw new __1.sdk.WERR_INVALID_PARAMETER('labelQueryMode', `undefined, 'any', or 'all'`);
582
+ const vargs = {
583
+ labels: (args.labels || []).map(t => validateLabel(t)),
584
+ labelQueryMode,
585
+ includeLabels: defaultFalse(args.includeLabels),
586
+ includeInputs: defaultFalse(args.includeInputs),
587
+ includeInputSourceLockingScripts: defaultFalse(args.includeInputSourceLockingScripts),
588
+ includeInputUnlockingScripts: defaultFalse(args.includeInputUnlockingScripts),
589
+ includeOutputs: defaultFalse(args.includeOutputs),
590
+ includeOutputLockingScripts: defaultFalse(args.includeOutputLockingScripts),
591
+ limit: validateInteger(args.limit, 'limit', 10, 1, 10000),
592
+ offset: validateInteger(args.offset, 'offset', 0, 0, undefined),
593
+ seekPermission: defaultTrue(args.seekPermission),
594
+ userId: undefined,
595
+ log: ''
596
+ };
597
+ if (vargs.labels.length < 1)
598
+ throw new __1.sdk.WERR_INVALID_PARAMETER('labels', 'at least one label');
599
+ return vargs;
600
+ }
601
+ //# sourceMappingURL=validationHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validationHelpers.js","sourceRoot":"","sources":["../../../../src/wallet/validationHelpers.ts"],"names":[],"mappings":"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"}