@bsv/sdk 2.0.12 → 2.0.13

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 (77) hide show
  1. package/dist/cjs/package.json +1 -1
  2. package/dist/cjs/src/auth/clients/__tests__/AuthFetch.additional.test.js +827 -0
  3. package/dist/cjs/src/auth/clients/__tests__/AuthFetch.additional.test.js.map +1 -0
  4. package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js +654 -0
  5. package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js.map +1 -0
  6. package/dist/cjs/src/transaction/MerklePath.js +132 -0
  7. package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
  8. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  9. package/dist/esm/src/auth/clients/__tests__/AuthFetch.additional.test.js +825 -0
  10. package/dist/esm/src/auth/clients/__tests__/AuthFetch.additional.test.js.map +1 -0
  11. package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js +619 -0
  12. package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js.map +1 -0
  13. package/dist/esm/src/transaction/MerklePath.js +132 -0
  14. package/dist/esm/src/transaction/MerklePath.js.map +1 -1
  15. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  16. package/dist/types/src/auth/clients/__tests__/AuthFetch.additional.test.d.ts +21 -0
  17. package/dist/types/src/auth/clients/__tests__/AuthFetch.additional.test.d.ts.map +1 -0
  18. package/dist/types/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.d.ts +2 -0
  19. package/dist/types/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.d.ts.map +1 -0
  20. package/dist/types/src/transaction/MerklePath.d.ts +27 -0
  21. package/dist/types/src/transaction/MerklePath.d.ts.map +1 -1
  22. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  23. package/dist/umd/bundle.js +1 -1
  24. package/dist/umd/bundle.js.map +1 -1
  25. package/docs/reference/storage.md +1 -1
  26. package/docs/reference/transaction.md +40 -0
  27. package/package.json +1 -1
  28. package/src/auth/clients/__tests__/AuthFetch.additional.test.ts +1131 -0
  29. package/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.ts +770 -0
  30. package/src/compat/__tests/Mnemonic.additional.test.ts +64 -0
  31. package/src/identity/__tests/IdentityClient.additional.test.ts +767 -0
  32. package/src/kvstore/__tests/LocalKVStore.additional.test.ts +611 -0
  33. package/src/kvstore/__tests/kvStoreInterpreter.test.ts +327 -0
  34. package/src/overlay-tools/__tests/HostReputationTracker.additional.test.ts +561 -0
  35. package/src/overlay-tools/__tests/LookupResolver.additional.test.ts +612 -0
  36. package/src/overlay-tools/__tests/withDoubleSpendRetry.test.ts +278 -0
  37. package/src/primitives/__tests/BigNumber.additional.test.ts +79 -0
  38. package/src/primitives/__tests/Curve.additional.test.ts +208 -0
  39. package/src/primitives/__tests/ECDSA.additional.test.ts +122 -0
  40. package/src/primitives/__tests/Hash.additional.test.ts +59 -0
  41. package/src/primitives/__tests/JacobianPoint.test.ts +308 -0
  42. package/src/primitives/__tests/Point.additional.test.ts +503 -0
  43. package/src/primitives/__tests/PublicKey.additional.test.ts +383 -0
  44. package/src/primitives/__tests/Random.additional.test.ts +262 -0
  45. package/src/primitives/__tests/Signature.test.ts +333 -0
  46. package/src/primitives/__tests/TransactionSignature.additional.test.ts +241 -0
  47. package/src/registry/__tests/RegistryClient.additional.test.ts +750 -0
  48. package/src/remittance/__tests/BasicBRC29.additional.test.ts +657 -0
  49. package/src/remittance/__tests/RemittanceManager.additional.test.ts +1272 -0
  50. package/src/script/__tests/LockingUnlockingScript.test.ts +79 -0
  51. package/src/script/__tests/Script.additional.test.ts +100 -0
  52. package/src/script/__tests/ScriptEvaluationError.test.ts +98 -0
  53. package/src/script/__tests/Spend.additional.test.ts +837 -0
  54. package/src/script/templates/__tests/RPuzzle.test.ts +134 -0
  55. package/src/transaction/MerklePath.ts +155 -0
  56. package/src/transaction/__tests/BeefParty.additional.test.ts +22 -0
  57. package/src/transaction/__tests/Broadcaster.test.ts +159 -0
  58. package/src/transaction/__tests/MerklePath.bench.test.ts +105 -0
  59. package/src/transaction/__tests/MerklePath.test.ts +80 -0
  60. package/src/transaction/__tests/Transaction.additional.test.ts +225 -0
  61. package/src/transaction/broadcasters/__tests/ARC.additional.test.ts +585 -0
  62. package/src/transaction/broadcasters/__tests/Teranode.test.ts +349 -0
  63. package/src/transaction/chaintrackers/__tests/BlockHeadersService.test.ts +253 -0
  64. package/src/transaction/chaintrackers/__tests/DefaultChainTracker.test.ts +44 -0
  65. package/src/transaction/chaintrackers/__tests/WhatsOnChain.additional.test.ts +193 -0
  66. package/src/transaction/fee-models/__tests/SatoshisPerKilobyte.test.ts +262 -0
  67. package/src/transaction/http/__tests/BinaryFetchClient.test.ts +212 -0
  68. package/src/transaction/http/__tests/DefaultHttpClient.additional.test.ts +192 -0
  69. package/src/transaction/http/__tests/DefaultHttpClient.test.ts +71 -0
  70. package/src/wallet/__tests/ProtoWallet.additional.test.ts +134 -0
  71. package/src/wallet/__tests/WERR.test.ts +212 -0
  72. package/src/wallet/__tests/WalletClient.additional.test.ts +699 -0
  73. package/src/wallet/__tests/WalletClient.substrate.test.ts +759 -0
  74. package/src/wallet/__tests/WalletError.test.ts +290 -0
  75. package/src/wallet/__tests/validationHelpers.test.ts +1218 -0
  76. package/src/wallet/substrates/__tests/HTTPWalletJSON.test.ts +496 -0
  77. package/src/wallet/substrates/__tests/HTTPWalletWire.test.ts +273 -0
@@ -0,0 +1,21 @@
1
+ /**
2
+ * AuthFetch additional tests.
3
+ *
4
+ * Covers branches not exercised by the primary AuthFetch.test.ts:
5
+ * - fetch(): retryCounter exhaustion, non-auth fallback path, stale-session retry
6
+ * - serializeRequest(): all header/body/URL variants
7
+ * - handleFetchAndValidate(): success, x-bsv header spoofing, non-ok response
8
+ * - handlePaymentAndRetry(): missing/invalid headers, incompatible context regeneration
9
+ * - describeRequestBodyForLogging(): all body types
10
+ * - getMaxPaymentAttempts(): edge cases
11
+ * - getPaymentRetryDelay(): values at different attempt counts
12
+ * - wait(): zero / positive
13
+ * - isPaymentContextCompatible(): match / mismatch branches
14
+ * - consumeReceivedCertificates(): drains the internal buffer
15
+ * - sendCertificateRequest(): creates new peer when none exists
16
+ * - logPaymentAttempt(): all three log levels
17
+ * - createPaymentErrorEntry(): Error vs non-Error values
18
+ * - buildPaymentFailureError(): shapes the error correctly
19
+ */
20
+ export {};
21
+ //# sourceMappingURL=AuthFetch.additional.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthFetch.additional.test.d.ts","sourceRoot":"","sources":["../../../../../../src/auth/clients/__tests__/AuthFetch.additional.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SimplifiedFetchTransport.additional.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimplifiedFetchTransport.additional.test.d.ts","sourceRoot":"","sources":["../../../../../../src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.ts"],"names":[],"mappings":""}
@@ -134,5 +134,32 @@ export default class MerklePath {
134
134
  * Leaves all levels sorted by increasing offset.
135
135
  */
136
136
  trim(): void;
137
+ /**
138
+ * Cached leaf finder for extract(). Uses Map-based indexes for O(1) lookups
139
+ * and caches computed intermediate hashes to avoid redundant work.
140
+ */
141
+ private cachedFindLeaf;
142
+ /**
143
+ * Extracts a minimal compound MerklePath covering only the specified transaction IDs.
144
+ *
145
+ * Given a compound MerklePath (e.g. all block txids at level 0, or a trimmed
146
+ * compound path), this method reconstructs the sibling hashes at each tree level
147
+ * for every requested txid using cached Map-indexed lookups, then assembles them
148
+ * into a single trimmed compound path.
149
+ *
150
+ * The extracted path is verified to compute the same Merkle root as the source.
151
+ *
152
+ * @param {string[]} txids - Transaction IDs to extract proofs for.
153
+ * @returns {MerklePath} - A new trimmed compound MerklePath covering only the requested txids.
154
+ * @throws {Error} - If no txids are provided, a txid is not found, or the roots do not match.
155
+ *
156
+ * @example
157
+ * // Full block compound path (all txids at level 0)
158
+ * const fullBlock = new MerklePath(height, [allTxidsAtLevel0])
159
+ * // Extract a smaller compound proof covering just two transactions
160
+ * const twoTxProof = fullBlock.extract([txid1, txid2])
161
+ * twoTxProof.computeRoot(txid1) // === fullBlock.computeRoot()
162
+ */
163
+ extract(txids: string[]): MerklePath;
137
164
  }
138
165
  //# sourceMappingURL=MerklePath.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MerklePath.d.ts","sourceRoot":"","sources":["../../../../src/transaction/MerklePath.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAkB,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzF,OAAO,YAAY,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAEpE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,KAAK,CACX,KAAK,CAAC;QACJ,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,SAAS,CAAC,EAAE,OAAO,CAAA;KACpB,CAAC,CACD,CAAA;IAED;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAE,GAAG,EAAE,MAAM,GAAG,UAAU;IAIxC,MAAM,CAAC,UAAU,CACf,MAAM,EAAE,MAAM,GAAG,gBAAgB,EACjC,gBAAgB,GAAE,OAAc,GAC/B,UAAU;IAwCb;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAE,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,UAAU;IAK3D;;;;;;;;;;OAUG;IACH,MAAM,CAAC,yBAAyB,CAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU;gBAKzE,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,KAAK,CACX,KAAK,CAAC;QACJ,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,SAAS,CAAC,EAAE,OAAO,CAAA;KACpB,CAAC,CACD,EACD,gBAAgB,GAAE,OAAc;IA6ClC;;;;OAIG;IACH,QAAQ,CAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAwBlD;;;;OAIG;IACH,QAAQ,IAAK,MAAM,EAAE;IAMrB;;;;OAIG;IACH,kBAAkB,IAAK,UAAU;IAMjC;;;;OAIG;IACH,KAAK,IAAK,MAAM;IAKhB,OAAO,CAAC,OAAO;IAQf;;;;;;OAMG;IACH,WAAW,CAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM;IAiDnC;;;;;;;OAOG;IACH,iBAAiB,CACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,cAAc,GAAG,SAAS;IAgD7B;;;;;;OAMG;IACG,MAAM,CAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAazE;;;;;OAKG;IACH,OAAO,CAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAmCjC;;;;OAIG;IACH,IAAI,IAAK,IAAI;CAqDd"}
1
+ {"version":3,"file":"MerklePath.d.ts","sourceRoot":"","sources":["../../../../src/transaction/MerklePath.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAkB,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzF,OAAO,YAAY,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAEpE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,KAAK,CACX,KAAK,CAAC;QACJ,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,SAAS,CAAC,EAAE,OAAO,CAAA;KACpB,CAAC,CACD,CAAA;IAED;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAE,GAAG,EAAE,MAAM,GAAG,UAAU;IAIxC,MAAM,CAAC,UAAU,CACf,MAAM,EAAE,MAAM,GAAG,gBAAgB,EACjC,gBAAgB,GAAE,OAAc,GAC/B,UAAU;IAwCb;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAE,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,UAAU;IAK3D;;;;;;;;;;OAUG;IACH,MAAM,CAAC,yBAAyB,CAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU;gBAKzE,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,KAAK,CACX,KAAK,CAAC;QACJ,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,SAAS,CAAC,EAAE,OAAO,CAAA;KACpB,CAAC,CACD,EACD,gBAAgB,GAAE,OAAc;IA6ClC;;;;OAIG;IACH,QAAQ,CAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAwBlD;;;;OAIG;IACH,QAAQ,IAAK,MAAM,EAAE;IAMrB;;;;OAIG;IACH,kBAAkB,IAAK,UAAU;IAMjC;;;;OAIG;IACH,KAAK,IAAK,MAAM;IAKhB,OAAO,CAAC,OAAO;IAQf;;;;;;OAMG;IACH,WAAW,CAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM;IAiDnC;;;;;;;OAOG;IACH,iBAAiB,CACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,cAAc,GAAG,SAAS;IAgD7B;;;;;;OAMG;IACG,MAAM,CAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAazE;;;;;OAKG;IACH,OAAO,CAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAmCjC;;;;OAIG;IACH,IAAI,IAAK,IAAI;IAsDb;;;OAGG;IACH,OAAO,CAAC,cAAc;IAsDtB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAE,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU;CA2EtC"}