@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.
- package/dist/cjs/package.json +1 -1
- package/dist/cjs/src/auth/clients/__tests__/AuthFetch.additional.test.js +827 -0
- package/dist/cjs/src/auth/clients/__tests__/AuthFetch.additional.test.js.map +1 -0
- package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js +654 -0
- package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js.map +1 -0
- package/dist/cjs/src/transaction/MerklePath.js +132 -0
- package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/auth/clients/__tests__/AuthFetch.additional.test.js +825 -0
- package/dist/esm/src/auth/clients/__tests__/AuthFetch.additional.test.js.map +1 -0
- package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js +619 -0
- package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js.map +1 -0
- package/dist/esm/src/transaction/MerklePath.js +132 -0
- package/dist/esm/src/transaction/MerklePath.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/src/auth/clients/__tests__/AuthFetch.additional.test.d.ts +21 -0
- package/dist/types/src/auth/clients/__tests__/AuthFetch.additional.test.d.ts.map +1 -0
- package/dist/types/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.d.ts +2 -0
- package/dist/types/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.d.ts.map +1 -0
- package/dist/types/src/transaction/MerklePath.d.ts +27 -0
- package/dist/types/src/transaction/MerklePath.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +1 -1
- package/dist/umd/bundle.js.map +1 -1
- package/docs/reference/storage.md +1 -1
- package/docs/reference/transaction.md +40 -0
- package/package.json +1 -1
- package/src/auth/clients/__tests__/AuthFetch.additional.test.ts +1131 -0
- package/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.ts +770 -0
- package/src/compat/__tests/Mnemonic.additional.test.ts +64 -0
- package/src/identity/__tests/IdentityClient.additional.test.ts +767 -0
- package/src/kvstore/__tests/LocalKVStore.additional.test.ts +611 -0
- package/src/kvstore/__tests/kvStoreInterpreter.test.ts +327 -0
- package/src/overlay-tools/__tests/HostReputationTracker.additional.test.ts +561 -0
- package/src/overlay-tools/__tests/LookupResolver.additional.test.ts +612 -0
- package/src/overlay-tools/__tests/withDoubleSpendRetry.test.ts +278 -0
- package/src/primitives/__tests/BigNumber.additional.test.ts +79 -0
- package/src/primitives/__tests/Curve.additional.test.ts +208 -0
- package/src/primitives/__tests/ECDSA.additional.test.ts +122 -0
- package/src/primitives/__tests/Hash.additional.test.ts +59 -0
- package/src/primitives/__tests/JacobianPoint.test.ts +308 -0
- package/src/primitives/__tests/Point.additional.test.ts +503 -0
- package/src/primitives/__tests/PublicKey.additional.test.ts +383 -0
- package/src/primitives/__tests/Random.additional.test.ts +262 -0
- package/src/primitives/__tests/Signature.test.ts +333 -0
- package/src/primitives/__tests/TransactionSignature.additional.test.ts +241 -0
- package/src/registry/__tests/RegistryClient.additional.test.ts +750 -0
- package/src/remittance/__tests/BasicBRC29.additional.test.ts +657 -0
- package/src/remittance/__tests/RemittanceManager.additional.test.ts +1272 -0
- package/src/script/__tests/LockingUnlockingScript.test.ts +79 -0
- package/src/script/__tests/Script.additional.test.ts +100 -0
- package/src/script/__tests/ScriptEvaluationError.test.ts +98 -0
- package/src/script/__tests/Spend.additional.test.ts +837 -0
- package/src/script/templates/__tests/RPuzzle.test.ts +134 -0
- package/src/transaction/MerklePath.ts +155 -0
- package/src/transaction/__tests/BeefParty.additional.test.ts +22 -0
- package/src/transaction/__tests/Broadcaster.test.ts +159 -0
- package/src/transaction/__tests/MerklePath.bench.test.ts +105 -0
- package/src/transaction/__tests/MerklePath.test.ts +80 -0
- package/src/transaction/__tests/Transaction.additional.test.ts +225 -0
- package/src/transaction/broadcasters/__tests/ARC.additional.test.ts +585 -0
- package/src/transaction/broadcasters/__tests/Teranode.test.ts +349 -0
- package/src/transaction/chaintrackers/__tests/BlockHeadersService.test.ts +253 -0
- package/src/transaction/chaintrackers/__tests/DefaultChainTracker.test.ts +44 -0
- package/src/transaction/chaintrackers/__tests/WhatsOnChain.additional.test.ts +193 -0
- package/src/transaction/fee-models/__tests/SatoshisPerKilobyte.test.ts +262 -0
- package/src/transaction/http/__tests/BinaryFetchClient.test.ts +212 -0
- package/src/transaction/http/__tests/DefaultHttpClient.additional.test.ts +192 -0
- package/src/transaction/http/__tests/DefaultHttpClient.test.ts +71 -0
- package/src/wallet/__tests/ProtoWallet.additional.test.ts +134 -0
- package/src/wallet/__tests/WERR.test.ts +212 -0
- package/src/wallet/__tests/WalletClient.additional.test.ts +699 -0
- package/src/wallet/__tests/WalletClient.substrate.test.ts +759 -0
- package/src/wallet/__tests/WalletError.test.ts +290 -0
- package/src/wallet/__tests/validationHelpers.test.ts +1218 -0
- package/src/wallet/substrates/__tests/HTTPWalletJSON.test.ts +496 -0
- package/src/wallet/substrates/__tests/HTTPWalletWire.test.ts +273 -0
|
@@ -1374,6 +1374,7 @@ export default class MerklePath {
|
|
|
1374
1374
|
async verify(txid: string, chainTracker: ChainTracker): Promise<boolean>
|
|
1375
1375
|
combine(other: MerklePath): void
|
|
1376
1376
|
trim(): void
|
|
1377
|
+
extract(txids: string[]): MerklePath
|
|
1377
1378
|
}
|
|
1378
1379
|
```
|
|
1379
1380
|
|
|
@@ -1418,6 +1419,45 @@ Throws
|
|
|
1418
1419
|
|
|
1419
1420
|
- If the transaction ID is not part of the Merkle Path.
|
|
1420
1421
|
|
|
1422
|
+
#### Method extract
|
|
1423
|
+
|
|
1424
|
+
Extracts a minimal compound MerklePath covering only the specified transaction IDs.
|
|
1425
|
+
|
|
1426
|
+
Given a compound MerklePath (e.g. all block txids at level 0, or a trimmed
|
|
1427
|
+
compound path), this method reconstructs the sibling hashes at each tree level
|
|
1428
|
+
for every requested txid using findOrComputeLeaf, builds a per-txid proof for
|
|
1429
|
+
each one, then combines them with combine() into a single trimmed compound path.
|
|
1430
|
+
|
|
1431
|
+
The extracted path is verified to compute the same Merkle root as the source.
|
|
1432
|
+
|
|
1433
|
+
```ts
|
|
1434
|
+
extract(txids: string[]): MerklePath
|
|
1435
|
+
```
|
|
1436
|
+
See also: [MerklePath](./transaction.md#class-merklepath)
|
|
1437
|
+
|
|
1438
|
+
Returns
|
|
1439
|
+
|
|
1440
|
+
- A new trimmed compound MerklePath covering only the requested txids.
|
|
1441
|
+
|
|
1442
|
+
Argument Details
|
|
1443
|
+
|
|
1444
|
+
+ **txids**
|
|
1445
|
+
+ Transaction IDs to extract proofs for.
|
|
1446
|
+
|
|
1447
|
+
Throws
|
|
1448
|
+
|
|
1449
|
+
- If no txids are provided, a txid is not found, or the roots do not match.
|
|
1450
|
+
|
|
1451
|
+
Example
|
|
1452
|
+
|
|
1453
|
+
```ts
|
|
1454
|
+
// Full block compound path (all txids at level 0)
|
|
1455
|
+
const fullBlock = new MerklePath(height, [allTxidsAtLevel0])
|
|
1456
|
+
// Extract a smaller compound proof covering just two transactions
|
|
1457
|
+
const twoTxProof = fullBlock.extract([txid1, txid2])
|
|
1458
|
+
twoTxProof.computeRoot(txid1) // === fullBlock.computeRoot()
|
|
1459
|
+
```
|
|
1460
|
+
|
|
1421
1461
|
#### Method findOrComputeLeaf
|
|
1422
1462
|
|
|
1423
1463
|
Find leaf with `offset` at `height` or compute from level below, recursively.
|