@bsv/sdk 1.6.9 → 1.6.11

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 (654) hide show
  1. package/README.md +9 -4
  2. package/dist/cjs/package.json +4 -2
  3. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js +5 -1
  4. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  5. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  6. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +5 -1
  7. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  8. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  9. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
  10. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  11. package/dist/umd/bundle.js +1 -1
  12. package/docs/concepts/beef.md +84 -0
  13. package/docs/concepts/chain-tracking.md +122 -0
  14. package/docs/concepts/decentralized-identity.md +184 -0
  15. package/docs/concepts/fees.md +217 -0
  16. package/docs/concepts/identity-certificates.md +255 -0
  17. package/docs/concepts/index.md +62 -0
  18. package/docs/concepts/key-management.md +176 -0
  19. package/docs/concepts/script-templates.md +163 -0
  20. package/docs/concepts/sdk-philosophy.md +72 -0
  21. package/docs/concepts/signatures.md +179 -0
  22. package/docs/concepts/spv-verification.md +106 -0
  23. package/docs/concepts/transaction-encoding.md +148 -0
  24. package/docs/concepts/transaction-structure.md +63 -0
  25. package/docs/concepts/trust-model.md +123 -0
  26. package/docs/concepts/verification.md +219 -0
  27. package/docs/concepts/wallet-integration.md +95 -0
  28. package/docs/guides/direct-transaction-creation.md +137 -0
  29. package/docs/guides/http-client-configuration.md +414 -0
  30. package/docs/guides/index.md +30 -0
  31. package/docs/guides/transaction-signing-methods.md +268 -0
  32. package/docs/index.md +74 -0
  33. package/docs/reference/arc-config.md +698 -0
  34. package/docs/reference/brc-100.md +33 -0
  35. package/docs/reference/configuration.md +829 -0
  36. package/docs/reference/debugging.md +700 -0
  37. package/docs/reference/errors.md +547 -0
  38. package/docs/reference/index.md +98 -0
  39. package/docs/reference/network-config.md +914 -0
  40. package/docs/reference/op-codes.md +306 -0
  41. package/docs/reference/transaction-signatures.md +94 -0
  42. package/docs/requirements.txt +3 -0
  43. package/docs/tutorials/advanced-transaction.md +575 -0
  44. package/docs/tutorials/aes-encryption.md +947 -0
  45. package/docs/tutorials/authfetch-tutorial.md +957 -0
  46. package/docs/tutorials/ecdh-key-exchange.md +547 -0
  47. package/docs/tutorials/elliptic-curve-fundamentals.md +603 -0
  48. package/docs/tutorials/error-handling.md +1215 -0
  49. package/docs/tutorials/first-transaction-low-level.md +204 -0
  50. package/docs/tutorials/first-transaction.md +278 -0
  51. package/docs/tutorials/hashes-and-hmacs.md +814 -0
  52. package/docs/tutorials/identity-management.md +702 -0
  53. package/docs/tutorials/index.md +182 -0
  54. package/docs/tutorials/key-management.md +536 -0
  55. package/docs/tutorials/protowallet-development.md +716 -0
  56. package/docs/tutorials/script-construction.md +690 -0
  57. package/docs/tutorials/spv-merkle-proofs.md +682 -0
  58. package/docs/tutorials/testnet-transactions-low-level.md +352 -0
  59. package/docs/tutorials/transaction-broadcasting.md +535 -0
  60. package/docs/tutorials/transaction-types.md +419 -0
  61. package/docs/tutorials/type-42.md +582 -0
  62. package/docs/tutorials/uhrp-storage.md +579 -0
  63. package/package.json +4 -2
  64. package/src/wallet/substrates/HTTPWalletJSON.ts +6 -1
  65. package/dist/cjs/src/auth/__tests/Peer.test.js +0 -446
  66. package/dist/cjs/src/auth/__tests/Peer.test.js.map +0 -1
  67. package/dist/cjs/src/auth/__tests/SessionManager.test.js +0 -69
  68. package/dist/cjs/src/auth/__tests/SessionManager.test.js.map +0 -1
  69. package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js +0 -182
  70. package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js.map +0 -1
  71. package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js +0 -184
  72. package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js.map +0 -1
  73. package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js +0 -75
  74. package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +0 -1
  75. package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js +0 -101
  76. package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js.map +0 -1
  77. package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js +0 -106
  78. package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +0 -1
  79. package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js +0 -111
  80. package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js.map +0 -1
  81. package/dist/cjs/src/auth/utils/certificateHelpers.js +0 -51
  82. package/dist/cjs/src/auth/utils/certificateHelpers.js.map +0 -1
  83. package/dist/cjs/src/compat/__tests/BSM.test.js +0 -69
  84. package/dist/cjs/src/compat/__tests/BSM.test.js.map +0 -1
  85. package/dist/cjs/src/compat/__tests/ECIES.test.js +0 -115
  86. package/dist/cjs/src/compat/__tests/ECIES.test.js.map +0 -1
  87. package/dist/cjs/src/compat/__tests/HD.test.js +0 -336
  88. package/dist/cjs/src/compat/__tests/HD.test.js.map +0 -1
  89. package/dist/cjs/src/compat/__tests/Mnemonic.test.js +0 -150
  90. package/dist/cjs/src/compat/__tests/Mnemonic.test.js.map +0 -1
  91. package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js +0 -175
  92. package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js.map +0 -1
  93. package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js +0 -57
  94. package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js.map +0 -1
  95. package/dist/cjs/src/messages/__tests/SignedMessage.test.js +0 -52
  96. package/dist/cjs/src/messages/__tests/SignedMessage.test.js.map +0 -1
  97. package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js +0 -1471
  98. package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js.map +0 -1
  99. package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +0 -78
  100. package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +0 -1
  101. package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js +0 -933
  102. package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +0 -1
  103. package/dist/cjs/src/primitives/__tests/AESGCM.test.js +0 -248
  104. package/dist/cjs/src/primitives/__tests/AESGCM.test.js.map +0 -1
  105. package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js +0 -36
  106. package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js.map +0 -1
  107. package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js +0 -36
  108. package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js.map +0 -1
  109. package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js +0 -501
  110. package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js.map +0 -1
  111. package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js +0 -185
  112. package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js.map +0 -1
  113. package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js +0 -149
  114. package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js.map +0 -1
  115. package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js +0 -23
  116. package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js.map +0 -1
  117. package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js +0 -268
  118. package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js.map +0 -1
  119. package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js +0 -147
  120. package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js.map +0 -1
  121. package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js +0 -322
  122. package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js.map +0 -1
  123. package/dist/cjs/src/primitives/__tests/Curve.unit.test.js +0 -145
  124. package/dist/cjs/src/primitives/__tests/Curve.unit.test.js.map +0 -1
  125. package/dist/cjs/src/primitives/__tests/DRBG.test.js +0 -22
  126. package/dist/cjs/src/primitives/__tests/DRBG.test.js.map +0 -1
  127. package/dist/cjs/src/primitives/__tests/DRBG.vectors.js +0 -170
  128. package/dist/cjs/src/primitives/__tests/DRBG.vectors.js.map +0 -1
  129. package/dist/cjs/src/primitives/__tests/ECDH.test.js +0 -34
  130. package/dist/cjs/src/primitives/__tests/ECDH.test.js.map +0 -1
  131. package/dist/cjs/src/primitives/__tests/ECDSA.test.js +0 -89
  132. package/dist/cjs/src/primitives/__tests/ECDSA.test.js.map +0 -1
  133. package/dist/cjs/src/primitives/__tests/HMAC.test.js +0 -60
  134. package/dist/cjs/src/primitives/__tests/HMAC.test.js.map +0 -1
  135. package/dist/cjs/src/primitives/__tests/Hash.test.js +0 -159
  136. package/dist/cjs/src/primitives/__tests/Hash.test.js.map +0 -1
  137. package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js +0 -122
  138. package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js.map +0 -1
  139. package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js +0 -105
  140. package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js.map +0 -1
  141. package/dist/cjs/src/primitives/__tests/PrivateKey.test.js +0 -90
  142. package/dist/cjs/src/primitives/__tests/PrivateKey.test.js.map +0 -1
  143. package/dist/cjs/src/primitives/__tests/PublicKey.test.js +0 -83
  144. package/dist/cjs/src/primitives/__tests/PublicKey.test.js.map +0 -1
  145. package/dist/cjs/src/primitives/__tests/Random.test.js +0 -19
  146. package/dist/cjs/src/primitives/__tests/Random.test.js.map +0 -1
  147. package/dist/cjs/src/primitives/__tests/Reader.test.js +0 -282
  148. package/dist/cjs/src/primitives/__tests/Reader.test.js.map +0 -1
  149. package/dist/cjs/src/primitives/__tests/ReductionContext.test.js +0 -224
  150. package/dist/cjs/src/primitives/__tests/ReductionContext.test.js.map +0 -1
  151. package/dist/cjs/src/primitives/__tests/Schnorr.test.js +0 -213
  152. package/dist/cjs/src/primitives/__tests/Schnorr.test.js.map +0 -1
  153. package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js +0 -51
  154. package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js.map +0 -1
  155. package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js +0 -43
  156. package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js.map +0 -1
  157. package/dist/cjs/src/primitives/__tests/Writer.test.js +0 -176
  158. package/dist/cjs/src/primitives/__tests/Writer.test.js.map +0 -1
  159. package/dist/cjs/src/primitives/__tests/bug-31.test.js +0 -32
  160. package/dist/cjs/src/primitives/__tests/bug-31.test.js.map +0 -1
  161. package/dist/cjs/src/primitives/__tests/sighash.vectors.js +0 -3506
  162. package/dist/cjs/src/primitives/__tests/sighash.vectors.js.map +0 -1
  163. package/dist/cjs/src/primitives/__tests/utils.test.js +0 -110
  164. package/dist/cjs/src/primitives/__tests/utils.test.js.map +0 -1
  165. package/dist/cjs/src/script/__tests/Script.test.js +0 -347
  166. package/dist/cjs/src/script/__tests/Script.test.js.map +0 -1
  167. package/dist/cjs/src/script/__tests/Spend.test.js +0 -282
  168. package/dist/cjs/src/script/__tests/Spend.test.js.map +0 -1
  169. package/dist/cjs/src/script/__tests/SpendComplex.test.js +0 -52
  170. package/dist/cjs/src/script/__tests/SpendComplex.test.js.map +0 -1
  171. package/dist/cjs/src/script/__tests/script.invalid.vectors.js +0 -2370
  172. package/dist/cjs/src/script/__tests/script.invalid.vectors.js.map +0 -1
  173. package/dist/cjs/src/script/__tests/script.valid.vectors.js +0 -1181
  174. package/dist/cjs/src/script/__tests/script.valid.vectors.js.map +0 -1
  175. package/dist/cjs/src/script/__tests/spend.valid.vectors.js +0 -2298
  176. package/dist/cjs/src/script/__tests/spend.valid.vectors.js.map +0 -1
  177. package/dist/cjs/src/script/templates/__tests/PushDrop.test.js +0 -161
  178. package/dist/cjs/src/script/templates/__tests/PushDrop.test.js.map +0 -1
  179. package/dist/cjs/src/totp/__tests/totp.test.js +0 -67
  180. package/dist/cjs/src/totp/__tests/totp.test.js.map +0 -1
  181. package/dist/cjs/src/transaction/__tests/Beef.test.js +0 -393
  182. package/dist/cjs/src/transaction/__tests/Beef.test.js.map +0 -1
  183. package/dist/cjs/src/transaction/__tests/MerklePath.test.js +0 -209
  184. package/dist/cjs/src/transaction/__tests/MerklePath.test.js.map +0 -1
  185. package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js +0 -219
  186. package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js.map +0 -1
  187. package/dist/cjs/src/transaction/__tests/Transaction.test.js +0 -1073
  188. package/dist/cjs/src/transaction/__tests/Transaction.test.js.map +0 -1
  189. package/dist/cjs/src/transaction/__tests/bigtx.vectors.js +0 -7
  190. package/dist/cjs/src/transaction/__tests/bigtx.vectors.js.map +0 -1
  191. package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js +0 -11
  192. package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js.map +0 -1
  193. package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js +0 -7
  194. package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js.map +0 -1
  195. package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js +0 -230
  196. package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js.map +0 -1
  197. package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js +0 -296
  198. package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js.map +0 -1
  199. package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js +0 -246
  200. package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js.map +0 -1
  201. package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +0 -148
  202. package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +0 -1
  203. package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +0 -155
  204. package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +0 -1
  205. package/dist/cjs/src/wallet/ScriptTemplateSABPPP.js +0 -39
  206. package/dist/cjs/src/wallet/ScriptTemplateSABPPP.js.map +0 -1
  207. package/dist/cjs/src/wallet/WalletSigner.js +0 -260
  208. package/dist/cjs/src/wallet/WalletSigner.js.map +0 -1
  209. package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js +0 -269
  210. package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js.map +0 -1
  211. package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js +0 -114
  212. package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js.map +0 -1
  213. package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js +0 -475
  214. package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js.map +0 -1
  215. package/dist/cjs/src/wallet/createActionSdk.js +0 -230
  216. package/dist/cjs/src/wallet/createActionSdk.js.map +0 -1
  217. package/dist/cjs/src/wallet/sdk/CachedKeyDeriver.js +0 -174
  218. package/dist/cjs/src/wallet/sdk/CachedKeyDeriver.js.map +0 -1
  219. package/dist/cjs/src/wallet/sdk/CertOps.js +0 -181
  220. package/dist/cjs/src/wallet/sdk/CertOps.js.map +0 -1
  221. package/dist/cjs/src/wallet/sdk/Certificate.js +0 -162
  222. package/dist/cjs/src/wallet/sdk/Certificate.js.map +0 -1
  223. package/dist/cjs/src/wallet/sdk/KeyDeriver.js +0 -176
  224. package/dist/cjs/src/wallet/sdk/KeyDeriver.js.map +0 -1
  225. package/dist/cjs/src/wallet/sdk/ProtoWallet.js +0 -75
  226. package/dist/cjs/src/wallet/sdk/ProtoWallet.js.map +0 -1
  227. package/dist/cjs/src/wallet/sdk/StorageSyncReader.js +0 -3
  228. package/dist/cjs/src/wallet/sdk/StorageSyncReader.js.map +0 -1
  229. package/dist/cjs/src/wallet/sdk/WERR_errors.js +0 -107
  230. package/dist/cjs/src/wallet/sdk/WERR_errors.js.map +0 -1
  231. package/dist/cjs/src/wallet/sdk/Wallet.interfaces.js +0 -3
  232. package/dist/cjs/src/wallet/sdk/Wallet.interfaces.js.map +0 -1
  233. package/dist/cjs/src/wallet/sdk/WalletCrypto.js +0 -171
  234. package/dist/cjs/src/wallet/sdk/WalletCrypto.js.map +0 -1
  235. package/dist/cjs/src/wallet/sdk/WalletError.js +0 -103
  236. package/dist/cjs/src/wallet/sdk/WalletError.js.map +0 -1
  237. package/dist/cjs/src/wallet/sdk/WalletServices.interfaces.js +0 -3
  238. package/dist/cjs/src/wallet/sdk/WalletServices.interfaces.js.map +0 -1
  239. package/dist/cjs/src/wallet/sdk/WalletSigner.interfaces.js +0 -3
  240. package/dist/cjs/src/wallet/sdk/WalletSigner.interfaces.js.map +0 -1
  241. package/dist/cjs/src/wallet/sdk/WalletStorage.interfaces.js +0 -3
  242. package/dist/cjs/src/wallet/sdk/WalletStorage.interfaces.js.map +0 -1
  243. package/dist/cjs/src/wallet/sdk/index.js +0 -31
  244. package/dist/cjs/src/wallet/sdk/index.js.map +0 -1
  245. package/dist/cjs/src/wallet/sdk/types.js +0 -11
  246. package/dist/cjs/src/wallet/sdk/types.js.map +0 -1
  247. package/dist/cjs/src/wallet/sdk/validationHelpers.js +0 -601
  248. package/dist/cjs/src/wallet/sdk/validationHelpers.js.map +0 -1
  249. package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js +0 -1962
  250. package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +0 -1
  251. package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js +0 -579
  252. package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js.map +0 -1
  253. package/dist/cjs/src/wallet/utilityHelpers.js +0 -305
  254. package/dist/cjs/src/wallet/utilityHelpers.js.map +0 -1
  255. package/dist/cjs/src/wallet/validationHelpers.js +0 -601
  256. package/dist/cjs/src/wallet/validationHelpers.js.map +0 -1
  257. package/dist/esm/src/auth/__tests/Peer.test.js +0 -448
  258. package/dist/esm/src/auth/__tests/Peer.test.js.map +0 -1
  259. package/dist/esm/src/auth/__tests/SessionManager.test.js +0 -69
  260. package/dist/esm/src/auth/__tests/SessionManager.test.js.map +0 -1
  261. package/dist/esm/src/auth/certificates/__tests/Certificate.test.js +0 -182
  262. package/dist/esm/src/auth/certificates/__tests/Certificate.test.js.map +0 -1
  263. package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js +0 -184
  264. package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js.map +0 -1
  265. package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js +0 -75
  266. package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +0 -1
  267. package/dist/esm/src/auth/utils/__tests/cryptononce.test.js +0 -101
  268. package/dist/esm/src/auth/utils/__tests/cryptononce.test.js.map +0 -1
  269. package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js +0 -106
  270. package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +0 -1
  271. package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js +0 -111
  272. package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js.map +0 -1
  273. package/dist/esm/src/auth/utils/certificateHelpers.js +0 -47
  274. package/dist/esm/src/auth/utils/certificateHelpers.js.map +0 -1
  275. package/dist/esm/src/compat/__tests/BSM.test.js +0 -69
  276. package/dist/esm/src/compat/__tests/BSM.test.js.map +0 -1
  277. package/dist/esm/src/compat/__tests/ECIES.test.js +0 -115
  278. package/dist/esm/src/compat/__tests/ECIES.test.js.map +0 -1
  279. package/dist/esm/src/compat/__tests/HD.test.js +0 -336
  280. package/dist/esm/src/compat/__tests/HD.test.js.map +0 -1
  281. package/dist/esm/src/compat/__tests/Mnemonic.test.js +0 -150
  282. package/dist/esm/src/compat/__tests/Mnemonic.test.js.map +0 -1
  283. package/dist/esm/src/compat/__tests/Mnemonic.vectors.js +0 -175
  284. package/dist/esm/src/compat/__tests/Mnemonic.vectors.js.map +0 -1
  285. package/dist/esm/src/messages/__tests/EncryptedMessage.test.js +0 -57
  286. package/dist/esm/src/messages/__tests/EncryptedMessage.test.js.map +0 -1
  287. package/dist/esm/src/messages/__tests/SignedMessage.test.js +0 -52
  288. package/dist/esm/src/messages/__tests/SignedMessage.test.js.map +0 -1
  289. package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js +0 -1471
  290. package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js.map +0 -1
  291. package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +0 -78
  292. package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +0 -1
  293. package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js +0 -933
  294. package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +0 -1
  295. package/dist/esm/src/primitives/__tests/AESGCM.test.js +0 -248
  296. package/dist/esm/src/primitives/__tests/AESGCM.test.js.map +0 -1
  297. package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js +0 -36
  298. package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js.map +0 -1
  299. package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js +0 -36
  300. package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js.map +0 -1
  301. package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js +0 -501
  302. package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js.map +0 -1
  303. package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js +0 -185
  304. package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js.map +0 -1
  305. package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js +0 -149
  306. package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js.map +0 -1
  307. package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js +0 -23
  308. package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js.map +0 -1
  309. package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js +0 -268
  310. package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js.map +0 -1
  311. package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js +0 -147
  312. package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js.map +0 -1
  313. package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js +0 -322
  314. package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js.map +0 -1
  315. package/dist/esm/src/primitives/__tests/Curve.unit.test.js +0 -145
  316. package/dist/esm/src/primitives/__tests/Curve.unit.test.js.map +0 -1
  317. package/dist/esm/src/primitives/__tests/DRBG.test.js +0 -22
  318. package/dist/esm/src/primitives/__tests/DRBG.test.js.map +0 -1
  319. package/dist/esm/src/primitives/__tests/DRBG.vectors.js +0 -170
  320. package/dist/esm/src/primitives/__tests/DRBG.vectors.js.map +0 -1
  321. package/dist/esm/src/primitives/__tests/ECDH.test.js +0 -34
  322. package/dist/esm/src/primitives/__tests/ECDH.test.js.map +0 -1
  323. package/dist/esm/src/primitives/__tests/ECDSA.test.js +0 -89
  324. package/dist/esm/src/primitives/__tests/ECDSA.test.js.map +0 -1
  325. package/dist/esm/src/primitives/__tests/HMAC.test.js +0 -60
  326. package/dist/esm/src/primitives/__tests/HMAC.test.js.map +0 -1
  327. package/dist/esm/src/primitives/__tests/Hash.test.js +0 -159
  328. package/dist/esm/src/primitives/__tests/Hash.test.js.map +0 -1
  329. package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js +0 -122
  330. package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js.map +0 -1
  331. package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js +0 -105
  332. package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js.map +0 -1
  333. package/dist/esm/src/primitives/__tests/PrivateKey.test.js +0 -90
  334. package/dist/esm/src/primitives/__tests/PrivateKey.test.js.map +0 -1
  335. package/dist/esm/src/primitives/__tests/PublicKey.test.js +0 -83
  336. package/dist/esm/src/primitives/__tests/PublicKey.test.js.map +0 -1
  337. package/dist/esm/src/primitives/__tests/Random.test.js +0 -19
  338. package/dist/esm/src/primitives/__tests/Random.test.js.map +0 -1
  339. package/dist/esm/src/primitives/__tests/Reader.test.js +0 -282
  340. package/dist/esm/src/primitives/__tests/Reader.test.js.map +0 -1
  341. package/dist/esm/src/primitives/__tests/ReductionContext.test.js +0 -223
  342. package/dist/esm/src/primitives/__tests/ReductionContext.test.js.map +0 -1
  343. package/dist/esm/src/primitives/__tests/Schnorr.test.js +0 -213
  344. package/dist/esm/src/primitives/__tests/Schnorr.test.js.map +0 -1
  345. package/dist/esm/src/primitives/__tests/SymmetricKey.test.js +0 -51
  346. package/dist/esm/src/primitives/__tests/SymmetricKey.test.js.map +0 -1
  347. package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js +0 -43
  348. package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js.map +0 -1
  349. package/dist/esm/src/primitives/__tests/Writer.test.js +0 -176
  350. package/dist/esm/src/primitives/__tests/Writer.test.js.map +0 -1
  351. package/dist/esm/src/primitives/__tests/bug-31.test.js +0 -32
  352. package/dist/esm/src/primitives/__tests/bug-31.test.js.map +0 -1
  353. package/dist/esm/src/primitives/__tests/sighash.vectors.js +0 -3506
  354. package/dist/esm/src/primitives/__tests/sighash.vectors.js.map +0 -1
  355. package/dist/esm/src/primitives/__tests/utils.test.js +0 -110
  356. package/dist/esm/src/primitives/__tests/utils.test.js.map +0 -1
  357. package/dist/esm/src/script/__tests/Script.test.js +0 -347
  358. package/dist/esm/src/script/__tests/Script.test.js.map +0 -1
  359. package/dist/esm/src/script/__tests/Spend.test.js +0 -282
  360. package/dist/esm/src/script/__tests/Spend.test.js.map +0 -1
  361. package/dist/esm/src/script/__tests/SpendComplex.test.js +0 -51
  362. package/dist/esm/src/script/__tests/SpendComplex.test.js.map +0 -1
  363. package/dist/esm/src/script/__tests/script.invalid.vectors.js +0 -2370
  364. package/dist/esm/src/script/__tests/script.invalid.vectors.js.map +0 -1
  365. package/dist/esm/src/script/__tests/script.valid.vectors.js +0 -1181
  366. package/dist/esm/src/script/__tests/script.valid.vectors.js.map +0 -1
  367. package/dist/esm/src/script/__tests/spend.valid.vectors.js +0 -2298
  368. package/dist/esm/src/script/__tests/spend.valid.vectors.js.map +0 -1
  369. package/dist/esm/src/script/templates/__tests/PushDrop.test.js +0 -161
  370. package/dist/esm/src/script/templates/__tests/PushDrop.test.js.map +0 -1
  371. package/dist/esm/src/totp/__tests/totp.test.js +0 -67
  372. package/dist/esm/src/totp/__tests/totp.test.js.map +0 -1
  373. package/dist/esm/src/transaction/__tests/Beef.test.js +0 -393
  374. package/dist/esm/src/transaction/__tests/Beef.test.js.map +0 -1
  375. package/dist/esm/src/transaction/__tests/MerklePath.test.js +0 -209
  376. package/dist/esm/src/transaction/__tests/MerklePath.test.js.map +0 -1
  377. package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js +0 -219
  378. package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js.map +0 -1
  379. package/dist/esm/src/transaction/__tests/Transaction.test.js +0 -1072
  380. package/dist/esm/src/transaction/__tests/Transaction.test.js.map +0 -1
  381. package/dist/esm/src/transaction/__tests/bigtx.vectors.js +0 -7
  382. package/dist/esm/src/transaction/__tests/bigtx.vectors.js.map +0 -1
  383. package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js +0 -11
  384. package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js.map +0 -1
  385. package/dist/esm/src/transaction/__tests/bump.valid.vectors.js +0 -7
  386. package/dist/esm/src/transaction/__tests/bump.valid.vectors.js.map +0 -1
  387. package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js +0 -230
  388. package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js.map +0 -1
  389. package/dist/esm/src/transaction/__tests/tx.valid.vectors.js +0 -296
  390. package/dist/esm/src/transaction/__tests/tx.valid.vectors.js.map +0 -1
  391. package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js +0 -246
  392. package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js.map +0 -1
  393. package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +0 -148
  394. package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +0 -1
  395. package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +0 -155
  396. package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +0 -1
  397. package/dist/esm/src/wallet/ScriptTemplateSABPPP.js +0 -37
  398. package/dist/esm/src/wallet/ScriptTemplateSABPPP.js.map +0 -1
  399. package/dist/esm/src/wallet/WalletSigner.js +0 -263
  400. package/dist/esm/src/wallet/WalletSigner.js.map +0 -1
  401. package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js +0 -269
  402. package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js.map +0 -1
  403. package/dist/esm/src/wallet/__tests/KeyDeriver.test.js +0 -113
  404. package/dist/esm/src/wallet/__tests/KeyDeriver.test.js.map +0 -1
  405. package/dist/esm/src/wallet/__tests/ProtoWallet.test.js +0 -475
  406. package/dist/esm/src/wallet/__tests/ProtoWallet.test.js.map +0 -1
  407. package/dist/esm/src/wallet/createActionSdk.js +0 -223
  408. package/dist/esm/src/wallet/createActionSdk.js.map +0 -1
  409. package/dist/esm/src/wallet/sdk/CachedKeyDeriver.js +0 -174
  410. package/dist/esm/src/wallet/sdk/CachedKeyDeriver.js.map +0 -1
  411. package/dist/esm/src/wallet/sdk/CertOps.js +0 -181
  412. package/dist/esm/src/wallet/sdk/CertOps.js.map +0 -1
  413. package/dist/esm/src/wallet/sdk/Certificate.js +0 -186
  414. package/dist/esm/src/wallet/sdk/Certificate.js.map +0 -1
  415. package/dist/esm/src/wallet/sdk/KeyDeriver.js +0 -174
  416. package/dist/esm/src/wallet/sdk/KeyDeriver.js.map +0 -1
  417. package/dist/esm/src/wallet/sdk/ProtoWallet.js +0 -71
  418. package/dist/esm/src/wallet/sdk/ProtoWallet.js.map +0 -1
  419. package/dist/esm/src/wallet/sdk/StorageSyncReader.js +0 -2
  420. package/dist/esm/src/wallet/sdk/StorageSyncReader.js.map +0 -1
  421. package/dist/esm/src/wallet/sdk/WERR_errors.js +0 -99
  422. package/dist/esm/src/wallet/sdk/WERR_errors.js.map +0 -1
  423. package/dist/esm/src/wallet/sdk/Wallet.interfaces.js +0 -2
  424. package/dist/esm/src/wallet/sdk/Wallet.interfaces.js.map +0 -1
  425. package/dist/esm/src/wallet/sdk/WalletCrypto.js +0 -168
  426. package/dist/esm/src/wallet/sdk/WalletCrypto.js.map +0 -1
  427. package/dist/esm/src/wallet/sdk/WalletError.js +0 -100
  428. package/dist/esm/src/wallet/sdk/WalletError.js.map +0 -1
  429. package/dist/esm/src/wallet/sdk/WalletServices.interfaces.js +0 -2
  430. package/dist/esm/src/wallet/sdk/WalletServices.interfaces.js.map +0 -1
  431. package/dist/esm/src/wallet/sdk/WalletSigner.interfaces.js +0 -2
  432. package/dist/esm/src/wallet/sdk/WalletSigner.interfaces.js.map +0 -1
  433. package/dist/esm/src/wallet/sdk/WalletStorage.interfaces.js +0 -2
  434. package/dist/esm/src/wallet/sdk/WalletStorage.interfaces.js.map +0 -1
  435. package/dist/esm/src/wallet/sdk/index.js +0 -15
  436. package/dist/esm/src/wallet/sdk/index.js.map +0 -1
  437. package/dist/esm/src/wallet/sdk/types.js +0 -8
  438. package/dist/esm/src/wallet/sdk/types.js.map +0 -1
  439. package/dist/esm/src/wallet/sdk/validationHelpers.js +0 -566
  440. package/dist/esm/src/wallet/sdk/validationHelpers.js.map +0 -1
  441. package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js +0 -1962
  442. package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +0 -1
  443. package/dist/esm/src/wallet/substrates/__tests/XDM.test.js +0 -579
  444. package/dist/esm/src/wallet/substrates/__tests/XDM.test.js.map +0 -1
  445. package/dist/esm/src/wallet/utilityHelpers.js +0 -275
  446. package/dist/esm/src/wallet/utilityHelpers.js.map +0 -1
  447. package/dist/esm/src/wallet/validationHelpers.js +0 -566
  448. package/dist/esm/src/wallet/validationHelpers.js.map +0 -1
  449. package/dist/types/src/auth/__tests/Peer.test.d.ts +0 -2
  450. package/dist/types/src/auth/__tests/Peer.test.d.ts.map +0 -1
  451. package/dist/types/src/auth/__tests/SessionManager.test.d.ts +0 -2
  452. package/dist/types/src/auth/__tests/SessionManager.test.d.ts.map +0 -1
  453. package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts +0 -2
  454. package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts.map +0 -1
  455. package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts +0 -2
  456. package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts.map +0 -1
  457. package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts +0 -2
  458. package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts.map +0 -1
  459. package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts +0 -2
  460. package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts.map +0 -1
  461. package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts +0 -2
  462. package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts.map +0 -1
  463. package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts +0 -2
  464. package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts.map +0 -1
  465. package/dist/types/src/auth/utils/certificateHelpers.d.ts +0 -26
  466. package/dist/types/src/auth/utils/certificateHelpers.d.ts.map +0 -1
  467. package/dist/types/src/compat/__tests/BSM.test.d.ts +0 -2
  468. package/dist/types/src/compat/__tests/BSM.test.d.ts.map +0 -1
  469. package/dist/types/src/compat/__tests/ECIES.test.d.ts +0 -2
  470. package/dist/types/src/compat/__tests/ECIES.test.d.ts.map +0 -1
  471. package/dist/types/src/compat/__tests/HD.test.d.ts +0 -2
  472. package/dist/types/src/compat/__tests/HD.test.d.ts.map +0 -1
  473. package/dist/types/src/compat/__tests/Mnemonic.test.d.ts +0 -2
  474. package/dist/types/src/compat/__tests/Mnemonic.test.d.ts.map +0 -1
  475. package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts +0 -11
  476. package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts.map +0 -1
  477. package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts +0 -2
  478. package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts.map +0 -1
  479. package/dist/types/src/messages/__tests/SignedMessage.test.d.ts +0 -2
  480. package/dist/types/src/messages/__tests/SignedMessage.test.d.ts.map +0 -1
  481. package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts +0 -2
  482. package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts.map +0 -1
  483. package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts +0 -2
  484. package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts.map +0 -1
  485. package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts +0 -2
  486. package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts.map +0 -1
  487. package/dist/types/src/primitives/__tests/AESGCM.test.d.ts +0 -2
  488. package/dist/types/src/primitives/__tests/AESGCM.test.d.ts.map +0 -1
  489. package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts +0 -8
  490. package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts.map +0 -1
  491. package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts +0 -8
  492. package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts.map +0 -1
  493. package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts +0 -2
  494. package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts.map +0 -1
  495. package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts +0 -2
  496. package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts.map +0 -1
  497. package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts +0 -2
  498. package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts.map +0 -1
  499. package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts +0 -2
  500. package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts.map +0 -1
  501. package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts +0 -15
  502. package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts.map +0 -1
  503. package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts +0 -2
  504. package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts.map +0 -1
  505. package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts +0 -2
  506. package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts.map +0 -1
  507. package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts +0 -2
  508. package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts.map +0 -1
  509. package/dist/types/src/primitives/__tests/DRBG.test.d.ts +0 -2
  510. package/dist/types/src/primitives/__tests/DRBG.test.d.ts.map +0 -1
  511. package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts +0 -10
  512. package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts.map +0 -1
  513. package/dist/types/src/primitives/__tests/ECDH.test.d.ts +0 -2
  514. package/dist/types/src/primitives/__tests/ECDH.test.d.ts.map +0 -1
  515. package/dist/types/src/primitives/__tests/ECDSA.test.d.ts +0 -2
  516. package/dist/types/src/primitives/__tests/ECDSA.test.d.ts.map +0 -1
  517. package/dist/types/src/primitives/__tests/HMAC.test.d.ts +0 -2
  518. package/dist/types/src/primitives/__tests/HMAC.test.d.ts.map +0 -1
  519. package/dist/types/src/primitives/__tests/Hash.test.d.ts +0 -2
  520. package/dist/types/src/primitives/__tests/Hash.test.d.ts.map +0 -1
  521. package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts +0 -68
  522. package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts.map +0 -1
  523. package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts +0 -2
  524. package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts.map +0 -1
  525. package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts +0 -2
  526. package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts.map +0 -1
  527. package/dist/types/src/primitives/__tests/PublicKey.test.d.ts +0 -2
  528. package/dist/types/src/primitives/__tests/PublicKey.test.d.ts.map +0 -1
  529. package/dist/types/src/primitives/__tests/Random.test.d.ts +0 -2
  530. package/dist/types/src/primitives/__tests/Random.test.d.ts.map +0 -1
  531. package/dist/types/src/primitives/__tests/Reader.test.d.ts +0 -2
  532. package/dist/types/src/primitives/__tests/Reader.test.d.ts.map +0 -1
  533. package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts +0 -2
  534. package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts.map +0 -1
  535. package/dist/types/src/primitives/__tests/Schnorr.test.d.ts +0 -2
  536. package/dist/types/src/primitives/__tests/Schnorr.test.d.ts.map +0 -1
  537. package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts +0 -2
  538. package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts.map +0 -1
  539. package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts +0 -20
  540. package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts.map +0 -1
  541. package/dist/types/src/primitives/__tests/Writer.test.d.ts +0 -2
  542. package/dist/types/src/primitives/__tests/Writer.test.d.ts.map +0 -1
  543. package/dist/types/src/primitives/__tests/bug-31.test.d.ts +0 -2
  544. package/dist/types/src/primitives/__tests/bug-31.test.d.ts.map +0 -1
  545. package/dist/types/src/primitives/__tests/sighash.vectors.d.ts +0 -3
  546. package/dist/types/src/primitives/__tests/sighash.vectors.d.ts.map +0 -1
  547. package/dist/types/src/primitives/__tests/utils.test.d.ts +0 -2
  548. package/dist/types/src/primitives/__tests/utils.test.d.ts.map +0 -1
  549. package/dist/types/src/script/__tests/Script.test.d.ts +0 -2
  550. package/dist/types/src/script/__tests/Script.test.d.ts.map +0 -1
  551. package/dist/types/src/script/__tests/Spend.test.d.ts +0 -2
  552. package/dist/types/src/script/__tests/Spend.test.d.ts.map +0 -1
  553. package/dist/types/src/script/__tests/SpendComplex.test.d.ts +0 -2
  554. package/dist/types/src/script/__tests/SpendComplex.test.d.ts.map +0 -1
  555. package/dist/types/src/script/__tests/script.invalid.vectors.d.ts +0 -3
  556. package/dist/types/src/script/__tests/script.invalid.vectors.d.ts.map +0 -1
  557. package/dist/types/src/script/__tests/script.valid.vectors.d.ts +0 -3
  558. package/dist/types/src/script/__tests/script.valid.vectors.d.ts.map +0 -1
  559. package/dist/types/src/script/__tests/spend.valid.vectors.d.ts +0 -3
  560. package/dist/types/src/script/__tests/spend.valid.vectors.d.ts.map +0 -1
  561. package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts +0 -2
  562. package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts.map +0 -1
  563. package/dist/types/src/totp/__tests/totp.test.d.ts +0 -2
  564. package/dist/types/src/totp/__tests/totp.test.d.ts.map +0 -1
  565. package/dist/types/src/transaction/__tests/Beef.test.d.ts +0 -2
  566. package/dist/types/src/transaction/__tests/Beef.test.d.ts.map +0 -1
  567. package/dist/types/src/transaction/__tests/MerklePath.test.d.ts +0 -2
  568. package/dist/types/src/transaction/__tests/MerklePath.test.d.ts.map +0 -1
  569. package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts +0 -2
  570. package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts.map +0 -1
  571. package/dist/types/src/transaction/__tests/Transaction.test.d.ts +0 -2
  572. package/dist/types/src/transaction/__tests/Transaction.test.d.ts.map +0 -1
  573. package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts +0 -6
  574. package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts.map +0 -1
  575. package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts +0 -6
  576. package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts.map +0 -1
  577. package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts +0 -5
  578. package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts.map +0 -1
  579. package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts +0 -3
  580. package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts.map +0 -1
  581. package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts +0 -3
  582. package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts.map +0 -1
  583. package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts +0 -2
  584. package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts.map +0 -1
  585. package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts +0 -2
  586. package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts.map +0 -1
  587. package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts +0 -2
  588. package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts.map +0 -1
  589. package/dist/types/src/wallet/ScriptTemplateSABPPP.d.ts +0 -25
  590. package/dist/types/src/wallet/ScriptTemplateSABPPP.d.ts.map +0 -1
  591. package/dist/types/src/wallet/WalletSigner.d.ts +0 -110
  592. package/dist/types/src/wallet/WalletSigner.d.ts.map +0 -1
  593. package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts +0 -2
  594. package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts.map +0 -1
  595. package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts +0 -2
  596. package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts.map +0 -1
  597. package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts +0 -2
  598. package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts.map +0 -1
  599. package/dist/types/src/wallet/createActionSdk.d.ts +0 -8
  600. package/dist/types/src/wallet/createActionSdk.d.ts.map +0 -1
  601. package/dist/types/src/wallet/sdk/CachedKeyDeriver.d.ts +0 -94
  602. package/dist/types/src/wallet/sdk/CachedKeyDeriver.d.ts.map +0 -1
  603. package/dist/types/src/wallet/sdk/CertOps.d.ts +0 -63
  604. package/dist/types/src/wallet/sdk/CertOps.d.ts.map +0 -1
  605. package/dist/types/src/wallet/sdk/Certificate.d.ts +0 -77
  606. package/dist/types/src/wallet/sdk/Certificate.d.ts.map +0 -1
  607. package/dist/types/src/wallet/sdk/KeyDeriver.d.ts +0 -128
  608. package/dist/types/src/wallet/sdk/KeyDeriver.d.ts.map +0 -1
  609. package/dist/types/src/wallet/sdk/ProtoWallet.d.ts +0 -30
  610. package/dist/types/src/wallet/sdk/ProtoWallet.d.ts.map +0 -1
  611. package/dist/types/src/wallet/sdk/StorageSyncReader.d.ts +0 -102
  612. package/dist/types/src/wallet/sdk/StorageSyncReader.d.ts.map +0 -1
  613. package/dist/types/src/wallet/sdk/WERR_errors.d.ts +0 -84
  614. package/dist/types/src/wallet/sdk/WERR_errors.d.ts.map +0 -1
  615. package/dist/types/src/wallet/sdk/Wallet.interfaces.d.ts +0 -1036
  616. package/dist/types/src/wallet/sdk/Wallet.interfaces.d.ts.map +0 -1
  617. package/dist/types/src/wallet/sdk/WalletCrypto.d.ts +0 -31
  618. package/dist/types/src/wallet/sdk/WalletCrypto.d.ts.map +0 -1
  619. package/dist/types/src/wallet/sdk/WalletError.d.ts +0 -46
  620. package/dist/types/src/wallet/sdk/WalletError.d.ts.map +0 -1
  621. package/dist/types/src/wallet/sdk/WalletServices.interfaces.d.ts +0 -293
  622. package/dist/types/src/wallet/sdk/WalletServices.interfaces.d.ts.map +0 -1
  623. package/dist/types/src/wallet/sdk/WalletSigner.interfaces.d.ts +0 -48
  624. package/dist/types/src/wallet/sdk/WalletSigner.interfaces.d.ts.map +0 -1
  625. package/dist/types/src/wallet/sdk/WalletStorage.interfaces.d.ts +0 -296
  626. package/dist/types/src/wallet/sdk/WalletStorage.interfaces.d.ts.map +0 -1
  627. package/dist/types/src/wallet/sdk/index.d.ts +0 -15
  628. package/dist/types/src/wallet/sdk/index.d.ts.map +0 -1
  629. package/dist/types/src/wallet/sdk/types.d.ts +0 -56
  630. package/dist/types/src/wallet/sdk/types.d.ts.map +0 -1
  631. package/dist/types/src/wallet/sdk/validationHelpers.d.ts +0 -301
  632. package/dist/types/src/wallet/sdk/validationHelpers.d.ts.map +0 -1
  633. package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts +0 -2
  634. package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts.map +0 -1
  635. package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts +0 -5
  636. package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts.map +0 -1
  637. package/dist/types/src/wallet/utilityHelpers.d.ts +0 -142
  638. package/dist/types/src/wallet/utilityHelpers.d.ts.map +0 -1
  639. package/dist/types/src/wallet/validationHelpers.d.ts +0 -301
  640. package/dist/types/src/wallet/validationHelpers.d.ts.map +0 -1
  641. package/docs/README.md +0 -21
  642. /package/docs/{auth.md → reference/auth.md} +0 -0
  643. /package/docs/{compat.md → reference/compat.md} +0 -0
  644. /package/docs/{identity.md → reference/identity.md} +0 -0
  645. /package/docs/{kvstore.md → reference/kvstore.md} +0 -0
  646. /package/docs/{messages.md → reference/messages.md} +0 -0
  647. /package/docs/{overlay-tools.md → reference/overlay-tools.md} +0 -0
  648. /package/docs/{primitives.md → reference/primitives.md} +0 -0
  649. /package/docs/{registry.md → reference/registry.md} +0 -0
  650. /package/docs/{script.md → reference/script.md} +0 -0
  651. /package/docs/{storage.md → reference/storage.md} +0 -0
  652. /package/docs/{totp.md → reference/totp.md} +0 -0
  653. /package/docs/{transaction.md → reference/transaction.md} +0 -0
  654. /package/docs/{wallet.md → reference/wallet.md} +0 -0
@@ -0,0 +1,914 @@
1
+ # Network Configuration Reference
2
+
3
+ Complete reference for configuring network settings, chain trackers, and blockchain connectivity in the BSV TypeScript SDK.
4
+
5
+ ## Network Configuration Interface
6
+
7
+ ### NetworkConfig
8
+
9
+ ```typescript
10
+ interface NetworkConfig {
11
+ name: string
12
+ network: 'mainnet' | 'testnet' | 'regtest'
13
+ chainTracker: ChainTrackerConfig
14
+ feeModel: FeeModelConfig
15
+ limits: NetworkLimits
16
+ endpoints: NetworkEndpoints
17
+ security: NetworkSecurity
18
+ monitoring: NetworkMonitoring
19
+ }
20
+ ```
21
+
22
+ ### ChainTrackerConfig
23
+
24
+ ```typescript
25
+ interface ChainTrackerConfig {
26
+ provider: 'whatsonchain' | 'blockchair' | 'custom'
27
+ url?: string
28
+ apiKey?: string
29
+ timeout: number
30
+ retries: number
31
+ retryDelay: number
32
+ fallbacks: ChainTrackerFallback[]
33
+ caching: ChainTrackerCaching
34
+ spv: SPVConfig
35
+ }
36
+
37
+ interface ChainTrackerFallback {
38
+ provider: string
39
+ url: string
40
+ apiKey?: string
41
+ priority: number
42
+ healthCheck: boolean
43
+ }
44
+
45
+ interface ChainTrackerCaching {
46
+ enabled: boolean
47
+ ttl: number // Time to live in milliseconds
48
+ maxSize: number // Maximum cache entries
49
+ storage: 'memory' | 'localStorage' | 'custom'
50
+ }
51
+
52
+ interface SPVConfig {
53
+ enabled: boolean
54
+ maxDepth: number
55
+ requiredConfirmations: number
56
+ merkleProofValidation: boolean
57
+ headerValidation: boolean
58
+ }
59
+ ```
60
+
61
+ ### NetworkEndpoints
62
+
63
+ ```typescript
64
+ interface NetworkEndpoints {
65
+ // Block and transaction data
66
+ blocks: string
67
+ transactions: string
68
+ utxos: string
69
+ balance: string
70
+ history: string
71
+
72
+ // Mempool and broadcasting
73
+ mempool: string
74
+ broadcast: string
75
+ fees: string
76
+
77
+ // Chain information
78
+ chainInfo: string
79
+ blockHeight: string
80
+ difficulty: string
81
+
82
+ // WebSocket endpoints
83
+ websocket?: {
84
+ blocks: string
85
+ transactions: string
86
+ mempool: string
87
+ }
88
+ }
89
+ ```
90
+
91
+ ### NetworkLimits
92
+
93
+ ```typescript
94
+ interface NetworkLimits {
95
+ maxBlockSize: number
96
+ maxTransactionSize: number
97
+ maxScriptSize: number
98
+ maxInputs: number
99
+ maxOutputs: number
100
+ maxSigOps: number
101
+ dustThreshold: number
102
+
103
+ // Rate limiting
104
+ requestsPerSecond: number
105
+ requestsPerMinute: number
106
+ requestsPerHour: number
107
+
108
+ // Connection limits
109
+ maxConcurrentRequests: number
110
+ maxRetries: number
111
+ backoffMultiplier: number
112
+ }
113
+ ```
114
+
115
+ ### NetworkSecurity
116
+
117
+ ```typescript
118
+ interface NetworkSecurity {
119
+ ssl: {
120
+ enabled: boolean
121
+ validateCertificates: boolean
122
+ allowSelfSigned: boolean
123
+ }
124
+
125
+ authentication: {
126
+ required: boolean
127
+ type: 'apiKey' | 'bearer' | 'basic'
128
+ credentials: Record<string, string>
129
+ }
130
+
131
+ rateLimit: {
132
+ enabled: boolean
133
+ windowMs: number
134
+ maxRequests: number
135
+ skipSuccessfulRequests: boolean
136
+ }
137
+
138
+ cors: {
139
+ enabled: boolean
140
+ origins: string[]
141
+ methods: string[]
142
+ headers: string[]
143
+ }
144
+ }
145
+ ```
146
+
147
+ ## Predefined Network Configurations
148
+
149
+ ### Mainnet Configuration
150
+
151
+ ```typescript
152
+ const MAINNET_CONFIG: NetworkConfig = {
153
+ name: 'Bitcoin SV Mainnet',
154
+ network: 'mainnet',
155
+ chainTracker: {
156
+ provider: 'whatsonchain',
157
+ url: 'https://api.whatsonchain.com/v1/bsv/main',
158
+ timeout: 30000,
159
+ retries: 3,
160
+ retryDelay: 1000,
161
+ fallbacks: [
162
+ {
163
+ provider: 'blockchair',
164
+ url: 'https://api.blockchair.com/bitcoin-sv',
165
+ priority: 1,
166
+ healthCheck: true
167
+ }
168
+ ],
169
+ caching: {
170
+ enabled: true,
171
+ ttl: 300000, // 5 minutes
172
+ maxSize: 1000,
173
+ storage: 'memory'
174
+ },
175
+ spv: {
176
+ enabled: true,
177
+ maxDepth: 6,
178
+ requiredConfirmations: 6,
179
+ merkleProofValidation: true,
180
+ headerValidation: true
181
+ }
182
+ },
183
+ feeModel: {
184
+ standard: 0.5, // satoshis per byte
185
+ data: 0.25,
186
+ priority: 1.0
187
+ },
188
+ limits: {
189
+ maxBlockSize: 4000000000, // 4GB
190
+ maxTransactionSize: 100000000, // 100MB
191
+ maxScriptSize: 10000,
192
+ maxInputs: 100000,
193
+ maxOutputs: 100000,
194
+ maxSigOps: 4000000,
195
+ dustThreshold: 546,
196
+ requestsPerSecond: 10,
197
+ requestsPerMinute: 600,
198
+ requestsPerHour: 36000,
199
+ maxConcurrentRequests: 5,
200
+ maxRetries: 3,
201
+ backoffMultiplier: 2
202
+ },
203
+ endpoints: {
204
+ blocks: '/block',
205
+ transactions: '/tx',
206
+ utxos: '/address/{address}/unspent',
207
+ balance: '/address/{address}/balance',
208
+ history: '/address/{address}/history',
209
+ mempool: '/mempool',
210
+ broadcast: '/tx/raw',
211
+ fees: '/fees',
212
+ chainInfo: '/chain/info',
213
+ blockHeight: '/chain/info',
214
+ difficulty: '/chain/info'
215
+ },
216
+ security: {
217
+ ssl: {
218
+ enabled: true,
219
+ validateCertificates: true,
220
+ allowSelfSigned: false
221
+ },
222
+ authentication: {
223
+ required: false,
224
+ type: 'apiKey',
225
+ credentials: {}
226
+ },
227
+ rateLimit: {
228
+ enabled: true,
229
+ windowMs: 60000,
230
+ maxRequests: 100,
231
+ skipSuccessfulRequests: false
232
+ },
233
+ cors: {
234
+ enabled: false,
235
+ origins: [],
236
+ methods: ['GET', 'POST'],
237
+ headers: ['Content-Type', 'Authorization']
238
+ }
239
+ },
240
+ monitoring: {
241
+ enabled: true,
242
+ healthCheck: {
243
+ interval: 60000,
244
+ timeout: 10000,
245
+ endpoints: ['chainInfo', 'fees']
246
+ },
247
+ metrics: {
248
+ enabled: true,
249
+ collectInterval: 30000,
250
+ retentionPeriod: 86400000 // 24 hours
251
+ }
252
+ }
253
+ }
254
+ ```
255
+
256
+ ### Testnet Configuration
257
+
258
+ ```typescript
259
+ const TESTNET_CONFIG: NetworkConfig = {
260
+ name: 'Bitcoin SV Testnet',
261
+ network: 'testnet',
262
+ chainTracker: {
263
+ provider: 'whatsonchain',
264
+ url: 'https://api.whatsonchain.com/v1/bsv/test',
265
+ timeout: 30000,
266
+ retries: 3,
267
+ retryDelay: 1000,
268
+ fallbacks: [],
269
+ caching: {
270
+ enabled: true,
271
+ ttl: 300000,
272
+ maxSize: 500,
273
+ storage: 'memory'
274
+ },
275
+ spv: {
276
+ enabled: true,
277
+ maxDepth: 3, // Shorter for testnet
278
+ requiredConfirmations: 3,
279
+ merkleProofValidation: true,
280
+ headerValidation: true
281
+ }
282
+ },
283
+ feeModel: {
284
+ standard: 0.1, // Lower fees for testnet
285
+ data: 0.05,
286
+ priority: 0.2
287
+ },
288
+ limits: {
289
+ maxBlockSize: 4000000000,
290
+ maxTransactionSize: 100000000,
291
+ maxScriptSize: 10000,
292
+ maxInputs: 100000,
293
+ maxOutputs: 100000,
294
+ maxSigOps: 4000000,
295
+ dustThreshold: 546,
296
+ requestsPerSecond: 20, // Higher limits for testing
297
+ requestsPerMinute: 1200,
298
+ requestsPerHour: 72000,
299
+ maxConcurrentRequests: 10,
300
+ maxRetries: 5,
301
+ backoffMultiplier: 1.5
302
+ },
303
+ endpoints: {
304
+ blocks: '/block',
305
+ transactions: '/tx',
306
+ utxos: '/address/{address}/unspent',
307
+ balance: '/address/{address}/balance',
308
+ history: '/address/{address}/history',
309
+ mempool: '/mempool',
310
+ broadcast: '/tx/raw',
311
+ fees: '/fees',
312
+ chainInfo: '/chain/info',
313
+ blockHeight: '/chain/info',
314
+ difficulty: '/chain/info'
315
+ },
316
+ security: {
317
+ ssl: {
318
+ enabled: true,
319
+ validateCertificates: true,
320
+ allowSelfSigned: false
321
+ },
322
+ authentication: {
323
+ required: false,
324
+ type: 'apiKey',
325
+ credentials: {}
326
+ },
327
+ rateLimit: {
328
+ enabled: false, // Disabled for testing
329
+ windowMs: 60000,
330
+ maxRequests: 1000,
331
+ skipSuccessfulRequests: true
332
+ },
333
+ cors: {
334
+ enabled: true, // Enabled for development
335
+ origins: ['*'],
336
+ methods: ['GET', 'POST', 'OPTIONS'],
337
+ headers: ['*']
338
+ }
339
+ },
340
+ monitoring: {
341
+ enabled: true,
342
+ healthCheck: {
343
+ interval: 30000,
344
+ timeout: 5000,
345
+ endpoints: ['chainInfo']
346
+ },
347
+ metrics: {
348
+ enabled: true,
349
+ collectInterval: 60000,
350
+ retentionPeriod: 43200000 // 12 hours
351
+ }
352
+ }
353
+ }
354
+ ```
355
+
356
+ ### RegTest Configuration
357
+
358
+ ```typescript
359
+ const REGTEST_CONFIG: NetworkConfig = {
360
+ name: 'Bitcoin SV RegTest',
361
+ network: 'regtest',
362
+ chainTracker: {
363
+ provider: 'custom',
364
+ url: 'http://localhost:18332',
365
+ timeout: 5000,
366
+ retries: 1,
367
+ retryDelay: 500,
368
+ fallbacks: [],
369
+ caching: {
370
+ enabled: false, // Disabled for local testing
371
+ ttl: 0,
372
+ maxSize: 0,
373
+ storage: 'memory'
374
+ },
375
+ spv: {
376
+ enabled: false, // Disabled for regtest
377
+ maxDepth: 1,
378
+ requiredConfirmations: 1,
379
+ merkleProofValidation: false,
380
+ headerValidation: false
381
+ }
382
+ },
383
+ feeModel: {
384
+ standard: 0.01, // Minimal fees for regtest
385
+ data: 0.01,
386
+ priority: 0.01
387
+ },
388
+ limits: {
389
+ maxBlockSize: 4000000000,
390
+ maxTransactionSize: 100000000,
391
+ maxScriptSize: 10000,
392
+ maxInputs: 100000,
393
+ maxOutputs: 100000,
394
+ maxSigOps: 4000000,
395
+ dustThreshold: 546,
396
+ requestsPerSecond: 1000, // No limits for local testing
397
+ requestsPerMinute: 60000,
398
+ requestsPerHour: 3600000,
399
+ maxConcurrentRequests: 100,
400
+ maxRetries: 1,
401
+ backoffMultiplier: 1
402
+ },
403
+ endpoints: {
404
+ blocks: '/rest/block',
405
+ transactions: '/rest/tx',
406
+ utxos: '/rest/getutxos',
407
+ balance: '/rest/balance',
408
+ history: '/rest/history',
409
+ mempool: '/rest/mempool',
410
+ broadcast: '/rest/tx',
411
+ fees: '/rest/fees',
412
+ chainInfo: '/rest/chaininfo',
413
+ blockHeight: '/rest/chaininfo',
414
+ difficulty: '/rest/chaininfo'
415
+ },
416
+ security: {
417
+ ssl: {
418
+ enabled: false, // HTTP for local development
419
+ validateCertificates: false,
420
+ allowSelfSigned: true
421
+ },
422
+ authentication: {
423
+ required: true,
424
+ type: 'basic',
425
+ credentials: {
426
+ username: 'rpcuser',
427
+ password: 'rpcpassword'
428
+ }
429
+ },
430
+ rateLimit: {
431
+ enabled: false,
432
+ windowMs: 0,
433
+ maxRequests: 0,
434
+ skipSuccessfulRequests: true
435
+ },
436
+ cors: {
437
+ enabled: true,
438
+ origins: ['*'],
439
+ methods: ['*'],
440
+ headers: ['*']
441
+ }
442
+ },
443
+ monitoring: {
444
+ enabled: false, // Disabled for local testing
445
+ healthCheck: {
446
+ interval: 0,
447
+ timeout: 0,
448
+ endpoints: []
449
+ },
450
+ metrics: {
451
+ enabled: false,
452
+ collectInterval: 0,
453
+ retentionPeriod: 0
454
+ }
455
+ }
456
+ }
457
+ ```
458
+
459
+ ## Network Configuration Builder
460
+
461
+ ### NetworkConfigBuilder Class
462
+
463
+ ```typescript
464
+ class NetworkConfigBuilder {
465
+ private config: Partial<NetworkConfig> = {}
466
+
467
+ name(name: string): NetworkConfigBuilder {
468
+ this.config.name = name
469
+ return this
470
+ }
471
+
472
+ network(network: 'mainnet' | 'testnet' | 'regtest'): NetworkConfigBuilder {
473
+ this.config.network = network
474
+ return this
475
+ }
476
+
477
+ chainTracker(config: Partial<ChainTrackerConfig>): NetworkConfigBuilder {
478
+ this.config.chainTracker = { ...this.config.chainTracker, ...config }
479
+ return this
480
+ }
481
+
482
+ feeModel(config: FeeModelConfig): NetworkConfigBuilder {
483
+ this.config.feeModel = config
484
+ return this
485
+ }
486
+
487
+ limits(config: Partial<NetworkLimits>): NetworkConfigBuilder {
488
+ this.config.limits = { ...this.config.limits, ...config }
489
+ return this
490
+ }
491
+
492
+ endpoints(config: Partial<NetworkEndpoints>): NetworkConfigBuilder {
493
+ this.config.endpoints = { ...this.config.endpoints, ...config }
494
+ return this
495
+ }
496
+
497
+ security(config: Partial<NetworkSecurity>): NetworkConfigBuilder {
498
+ this.config.security = { ...this.config.security, ...config }
499
+ return this
500
+ }
501
+
502
+ monitoring(config: Partial<NetworkMonitoring>): NetworkConfigBuilder {
503
+ this.config.monitoring = { ...this.config.monitoring, ...config }
504
+ return this
505
+ }
506
+
507
+ build(): NetworkConfig {
508
+ // Apply defaults based on network type
509
+ const defaults = this.getNetworkDefaults(this.config.network || 'mainnet')
510
+
511
+ return {
512
+ ...defaults,
513
+ ...this.config,
514
+ chainTracker: { ...defaults.chainTracker, ...this.config.chainTracker },
515
+ limits: { ...defaults.limits, ...this.config.limits },
516
+ endpoints: { ...defaults.endpoints, ...this.config.endpoints },
517
+ security: { ...defaults.security, ...this.config.security },
518
+ monitoring: { ...defaults.monitoring, ...this.config.monitoring }
519
+ } as NetworkConfig
520
+ }
521
+
522
+ private getNetworkDefaults(network: string): NetworkConfig {
523
+ switch (network) {
524
+ case 'mainnet':
525
+ return MAINNET_CONFIG
526
+ case 'testnet':
527
+ return TESTNET_CONFIG
528
+ case 'regtest':
529
+ return REGTEST_CONFIG
530
+ default:
531
+ return MAINNET_CONFIG
532
+ }
533
+ }
534
+ }
535
+ ```
536
+
537
+ ### Usage Examples
538
+
539
+ ```typescript
540
+ // Basic network configuration
541
+ const basicNetwork = new NetworkConfigBuilder()
542
+ .name('Custom Mainnet')
543
+ .network('mainnet')
544
+ .chainTracker({
545
+ provider: 'whatsonchain',
546
+ timeout: 15000
547
+ })
548
+ .build()
549
+
550
+ // Custom network with fallbacks
551
+ const robustNetwork = new NetworkConfigBuilder()
552
+ .name('Production Mainnet')
553
+ .network('mainnet')
554
+ .chainTracker({
555
+ provider: 'whatsonchain',
556
+ url: 'https://api.whatsonchain.com/v1/bsv/main',
557
+ timeout: 30000,
558
+ retries: 3,
559
+ fallbacks: [
560
+ {
561
+ provider: 'blockchair',
562
+ url: 'https://api.blockchair.com/bitcoin-sv',
563
+ priority: 1,
564
+ healthCheck: true
565
+ },
566
+ {
567
+ provider: 'custom',
568
+ url: 'https://custom-api.example.com',
569
+ apiKey: 'your-api-key',
570
+ priority: 2,
571
+ healthCheck: true
572
+ }
573
+ ]
574
+ })
575
+ .security({
576
+ ssl: { enabled: true, validateCertificates: true },
577
+ rateLimit: { enabled: true, windowMs: 60000, maxRequests: 100 }
578
+ })
579
+ .monitoring({
580
+ enabled: true,
581
+ healthCheck: { interval: 30000, timeout: 5000 }
582
+ })
583
+ .build()
584
+ ```
585
+
586
+ ## Chain Tracker Management
587
+
588
+ ### ChainTracker Interface
589
+
590
+ ```typescript
591
+ interface ChainTracker {
592
+ config: ChainTrackerConfig
593
+
594
+ // Block operations
595
+ getBlock(hash: string): Promise<Block>
596
+ getBlockHeader(hash: string): Promise<BlockHeader>
597
+ getBlockHeight(): Promise<number>
598
+
599
+ // Transaction operations
600
+ getTransaction(txid: string): Promise<Transaction>
601
+ getTransactionStatus(txid: string): Promise<TransactionStatus>
602
+ getRawTransaction(txid: string): Promise<string>
603
+
604
+ // UTXO operations
605
+ getUTXOs(address: string): Promise<UTXO[]>
606
+ getBalance(address: string): Promise<number>
607
+ getHistory(address: string): Promise<TransactionHistory[]>
608
+
609
+ // Broadcasting
610
+ broadcast(rawTx: string): Promise<BroadcastResult>
611
+
612
+ // Mempool
613
+ getMempoolInfo(): Promise<MempoolInfo>
614
+ getMempoolTransactions(): Promise<string[]>
615
+
616
+ // Health and status
617
+ getHealth(): Promise<HealthStatus>
618
+ isConnected(): boolean
619
+ }
620
+ ```
621
+
622
+ ### Multi-Provider Chain Tracker
623
+
624
+ ```typescript
625
+ class MultiProviderChainTracker implements ChainTracker {
626
+ private providers: ChainTracker[]
627
+ private currentProvider = 0
628
+ private healthStatus = new Map<string, boolean>()
629
+
630
+ constructor(
631
+ public config: ChainTrackerConfig,
632
+ providers: ChainTracker[]
633
+ ) {
634
+ this.providers = providers
635
+ this.startHealthChecks()
636
+ }
637
+
638
+ async getTransaction(txid: string): Promise<Transaction> {
639
+ const provider = this.selectProvider()
640
+
641
+ try {
642
+ return await provider.getTransaction(txid)
643
+ } catch (error) {
644
+ this.markProviderUnhealthy(provider)
645
+
646
+ if (this.hasHealthyProviders()) {
647
+ return this.getTransaction(txid) // Retry with different provider
648
+ }
649
+
650
+ throw error
651
+ }
652
+ }
653
+
654
+ async broadcast(rawTx: string): Promise<BroadcastResult> {
655
+ const errors: Error[] = []
656
+
657
+ // Try all healthy providers for broadcasting
658
+ for (const provider of this.getHealthyProviders()) {
659
+ try {
660
+ return await provider.broadcast(rawTx)
661
+ } catch (error) {
662
+ errors.push(error as Error)
663
+ this.markProviderUnhealthy(provider)
664
+ }
665
+ }
666
+
667
+ throw new Error(`Broadcast failed on all providers: ${errors.map(e => e.message).join(', ')}`)
668
+ }
669
+
670
+ private selectProvider(): ChainTracker {
671
+ const healthyProviders = this.getHealthyProviders()
672
+
673
+ if (healthyProviders.length === 0) {
674
+ return this.providers[0] // Fallback to first provider
675
+ }
676
+
677
+ // Round-robin selection
678
+ const provider = healthyProviders[this.currentProvider % healthyProviders.length]
679
+ this.currentProvider++
680
+ return provider
681
+ }
682
+
683
+ private getHealthyProviders(): ChainTracker[] {
684
+ return this.providers.filter(provider =>
685
+ this.healthStatus.get(this.getProviderId(provider)) !== false
686
+ )
687
+ }
688
+
689
+ private markProviderUnhealthy(provider: ChainTracker): void {
690
+ this.healthStatus.set(this.getProviderId(provider), false)
691
+ }
692
+
693
+ private getProviderId(provider: ChainTracker): string {
694
+ return provider.config.url || provider.config.provider
695
+ }
696
+
697
+ private startHealthChecks(): void {
698
+ setInterval(async () => {
699
+ for (const provider of this.providers) {
700
+ try {
701
+ await provider.getHealth()
702
+ this.healthStatus.set(this.getProviderId(provider), true)
703
+ } catch (error) {
704
+ this.healthStatus.set(this.getProviderId(provider), false)
705
+ }
706
+ }
707
+ }, 60000) // Check every minute
708
+ }
709
+
710
+ // Implement other ChainTracker methods...
711
+ async getBlock(hash: string): Promise<Block> {
712
+ const provider = this.selectProvider()
713
+ return provider.getBlock(hash)
714
+ }
715
+
716
+ async getUTXOs(address: string): Promise<UTXO[]> {
717
+ const provider = this.selectProvider()
718
+ return provider.getUTXOs(address)
719
+ }
720
+
721
+ async getHealth(): Promise<HealthStatus> {
722
+ const healthyCount = this.getHealthyProviders().length
723
+ const totalCount = this.providers.length
724
+
725
+ return {
726
+ status: healthyCount > 0 ? 'healthy' : 'unhealthy',
727
+ providers: {
728
+ healthy: healthyCount,
729
+ total: totalCount,
730
+ percentage: (healthyCount / totalCount) * 100
731
+ },
732
+ timestamp: Date.now()
733
+ }
734
+ }
735
+
736
+ isConnected(): boolean {
737
+ return this.getHealthyProviders().length > 0
738
+ }
739
+ }
740
+ ```
741
+
742
+ ## Environment-Based Network Configuration
743
+
744
+ ### Environment Configuration Loader
745
+
746
+ ```typescript
747
+ class NetworkEnvironmentConfig {
748
+ static fromEnvironment(): NetworkConfig {
749
+ const network = (process.env.BSV_NETWORK || 'mainnet') as 'mainnet' | 'testnet' | 'regtest'
750
+ const baseConfig = NetworkEnvironmentConfig.getBaseConfig(network)
751
+
752
+ // Override with environment variables
753
+ if (process.env.BSV_CHAIN_TRACKER_URL) {
754
+ baseConfig.chainTracker.url = process.env.BSV_CHAIN_TRACKER_URL
755
+ }
756
+
757
+ if (process.env.BSV_CHAIN_TRACKER_API_KEY) {
758
+ baseConfig.chainTracker.apiKey = process.env.BSV_CHAIN_TRACKER_API_KEY
759
+ }
760
+
761
+ if (process.env.BSV_CHAIN_TRACKER_TIMEOUT) {
762
+ baseConfig.chainTracker.timeout = parseInt(process.env.BSV_CHAIN_TRACKER_TIMEOUT)
763
+ }
764
+
765
+ // Fee model overrides
766
+ if (process.env.BSV_FEE_STANDARD) {
767
+ baseConfig.feeModel.standard = parseFloat(process.env.BSV_FEE_STANDARD)
768
+ }
769
+
770
+ if (process.env.BSV_FEE_DATA) {
771
+ baseConfig.feeModel.data = parseFloat(process.env.BSV_FEE_DATA)
772
+ }
773
+
774
+ // Security overrides
775
+ if (process.env.BSV_SSL_ENABLED) {
776
+ baseConfig.security.ssl.enabled = process.env.BSV_SSL_ENABLED === 'true'
777
+ }
778
+
779
+ if (process.env.BSV_RATE_LIMIT_ENABLED) {
780
+ baseConfig.security.rateLimit.enabled = process.env.BSV_RATE_LIMIT_ENABLED === 'true'
781
+ }
782
+
783
+ return baseConfig
784
+ }
785
+
786
+ private static getBaseConfig(network: string): NetworkConfig {
787
+ switch (network) {
788
+ case 'mainnet':
789
+ return { ...MAINNET_CONFIG }
790
+ case 'testnet':
791
+ return { ...TESTNET_CONFIG }
792
+ case 'regtest':
793
+ return { ...REGTEST_CONFIG }
794
+ default:
795
+ return { ...MAINNET_CONFIG }
796
+ }
797
+ }
798
+
799
+ static validate(config: NetworkConfig): void {
800
+ if (!config.name) {
801
+ throw new Error('Network name is required')
802
+ }
803
+
804
+ if (!config.network) {
805
+ throw new Error('Network type is required')
806
+ }
807
+
808
+ if (!config.chainTracker.url && config.chainTracker.provider === 'custom') {
809
+ throw new Error('Chain tracker URL is required for custom provider')
810
+ }
811
+
812
+ if (config.chainTracker.timeout < 1000) {
813
+ throw new Error('Chain tracker timeout must be at least 1000ms')
814
+ }
815
+
816
+ if (config.limits.maxTransactionSize > config.limits.maxBlockSize) {
817
+ throw new Error('Max transaction size cannot exceed max block size')
818
+ }
819
+
820
+ if (config.security.ssl.enabled && !config.chainTracker.url?.startsWith('https')) {
821
+ console.warn('SSL is enabled but chain tracker URL is not HTTPS')
822
+ }
823
+ }
824
+ }
825
+ ```
826
+
827
+ ## Network Configuration Best Practices
828
+
829
+ ### Production Configuration
830
+
831
+ ```typescript
832
+ const productionConfig = new NetworkConfigBuilder()
833
+ .name('Production Mainnet')
834
+ .network('mainnet')
835
+ .chainTracker({
836
+ provider: 'whatsonchain',
837
+ timeout: 30000,
838
+ retries: 3,
839
+ retryDelay: 2000,
840
+ fallbacks: [
841
+ {
842
+ provider: 'blockchair',
843
+ url: 'https://api.blockchair.com/bitcoin-sv',
844
+ priority: 1,
845
+ healthCheck: true
846
+ }
847
+ ],
848
+ caching: {
849
+ enabled: true,
850
+ ttl: 300000, // 5 minutes
851
+ maxSize: 10000,
852
+ storage: 'memory'
853
+ }
854
+ })
855
+ .security({
856
+ ssl: {
857
+ enabled: true,
858
+ validateCertificates: true,
859
+ allowSelfSigned: false
860
+ },
861
+ rateLimit: {
862
+ enabled: true,
863
+ windowMs: 60000,
864
+ maxRequests: 100
865
+ }
866
+ })
867
+ .monitoring({
868
+ enabled: true,
869
+ healthCheck: {
870
+ interval: 30000,
871
+ timeout: 10000,
872
+ endpoints: ['chainInfo', 'fees']
873
+ },
874
+ metrics: {
875
+ enabled: true,
876
+ collectInterval: 60000,
877
+ retentionPeriod: 86400000
878
+ }
879
+ })
880
+ .build()
881
+ ```
882
+
883
+ ### Development Configuration
884
+
885
+ ```typescript
886
+ const developmentConfig = new NetworkConfigBuilder()
887
+ .name('Development Testnet')
888
+ .network('testnet')
889
+ .chainTracker({
890
+ provider: 'whatsonchain',
891
+ timeout: 15000,
892
+ retries: 5,
893
+ caching: {
894
+ enabled: false // Disable caching for development
895
+ }
896
+ })
897
+ .security({
898
+ ssl: { enabled: true },
899
+ rateLimit: { enabled: false }, // Disable rate limiting for development
900
+ cors: {
901
+ enabled: true,
902
+ origins: ['*'],
903
+ methods: ['*'],
904
+ headers: ['*']
905
+ }
906
+ })
907
+ .monitoring({
908
+ enabled: true,
909
+ healthCheck: { interval: 10000, timeout: 5000 }
910
+ })
911
+ .build()
912
+ ```
913
+
914
+ This comprehensive network configuration reference provides developers with all the tools needed to effectively configure and manage network connectivity in their BSV TypeScript SDK applications.