@bsv/sdk 2.0.11 → 2.0.12
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/overlay-tools/HostReputationTracker.js +21 -13
- package/dist/cjs/src/overlay-tools/HostReputationTracker.js.map +1 -1
- package/dist/cjs/src/primitives/PrivateKey.js +3 -3
- package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
- package/dist/cjs/src/script/Spend.js +17 -9
- package/dist/cjs/src/script/Spend.js.map +1 -1
- package/dist/cjs/src/storage/StorageDownloader.js +6 -6
- package/dist/cjs/src/storage/StorageDownloader.js.map +1 -1
- package/dist/cjs/src/storage/StorageUtils.js +1 -1
- package/dist/cjs/src/storage/StorageUtils.js.map +1 -1
- package/dist/cjs/src/transaction/MerklePath.js +36 -27
- package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/overlay-tools/HostReputationTracker.js +21 -13
- package/dist/esm/src/overlay-tools/HostReputationTracker.js.map +1 -1
- package/dist/esm/src/primitives/PrivateKey.js +3 -3
- package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
- package/dist/esm/src/script/Spend.js +17 -9
- package/dist/esm/src/script/Spend.js.map +1 -1
- package/dist/esm/src/storage/StorageDownloader.js +6 -6
- package/dist/esm/src/storage/StorageDownloader.js.map +1 -1
- package/dist/esm/src/storage/StorageUtils.js +1 -1
- package/dist/esm/src/storage/StorageUtils.js.map +1 -1
- package/dist/esm/src/transaction/MerklePath.js +36 -27
- package/dist/esm/src/transaction/MerklePath.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/src/overlay-tools/HostReputationTracker.d.ts.map +1 -1
- package/dist/types/src/script/Spend.d.ts.map +1 -1
- package/dist/types/src/transaction/MerklePath.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +3 -3
- package/dist/umd/bundle.js.map +1 -1
- package/package.json +1 -1
- package/src/auth/utils/__tests/validateCertificates.test.ts +12 -9
- package/src/kvstore/__tests/LocalKVStore.test.ts +4 -6
- package/src/overlay-tools/HostReputationTracker.ts +17 -14
- package/src/primitives/PrivateKey.ts +3 -3
- package/src/script/Spend.ts +19 -11
- package/src/storage/StorageDownloader.ts +6 -6
- package/src/storage/StorageUtils.ts +1 -1
- package/src/transaction/MerklePath.ts +41 -36
- package/src/transaction/__tests/MerklePath.test.ts +152 -21
|
@@ -39,7 +39,7 @@ export default class MerklePath {
|
|
|
39
39
|
const blockHeight = reader.readVarIntNum();
|
|
40
40
|
const treeHeight = reader.readUInt8();
|
|
41
41
|
// Explicitly define the type of path as an array of arrays of leaf objects
|
|
42
|
-
const path = Array(treeHeight)
|
|
42
|
+
const path = new Array(treeHeight)
|
|
43
43
|
.fill(null)
|
|
44
44
|
.map(() => []);
|
|
45
45
|
let flags, offset, nLeavesAtThisHeight;
|
|
@@ -49,7 +49,7 @@ export default class MerklePath {
|
|
|
49
49
|
offset = reader.readVarIntNum();
|
|
50
50
|
flags = reader.readUInt8();
|
|
51
51
|
const leaf = { offset };
|
|
52
|
-
if ((flags & 1)
|
|
52
|
+
if ((flags & 1) === 1) {
|
|
53
53
|
leaf.duplicate = true;
|
|
54
54
|
}
|
|
55
55
|
else {
|
|
@@ -99,7 +99,7 @@ export default class MerklePath {
|
|
|
99
99
|
this.blockHeight = blockHeight;
|
|
100
100
|
this.path = path;
|
|
101
101
|
// store all of the legal offsets which we expect given the txid indices.
|
|
102
|
-
const legalOffsets = Array(this.path.length)
|
|
102
|
+
const legalOffsets = new Array(this.path.length)
|
|
103
103
|
.fill(0)
|
|
104
104
|
.map(() => new Set());
|
|
105
105
|
this.path.forEach((leaves, height) => {
|
|
@@ -119,10 +119,8 @@ export default class MerklePath {
|
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
|
-
else {
|
|
123
|
-
|
|
124
|
-
throw new Error(`Invalid offset: ${leaf.offset}, at height: ${height}, with legal offsets: ${Array.from(legalOffsets[height]).join(', ')}`);
|
|
125
|
-
}
|
|
122
|
+
else if (legalOffsetsOnly && !legalOffsets[height].has(leaf.offset)) {
|
|
123
|
+
throw new Error(`Invalid offset: ${leaf.offset}, at height: ${height}, with legal offsets: ${Array.from(legalOffsets[height]).join(', ')}`);
|
|
126
124
|
}
|
|
127
125
|
});
|
|
128
126
|
});
|
|
@@ -210,19 +208,16 @@ export default class MerklePath {
|
|
|
210
208
|
computeRoot(txid) {
|
|
211
209
|
if (typeof txid !== 'string') {
|
|
212
210
|
const foundLeaf = this.path[0].find((leaf) => Boolean(leaf?.hash));
|
|
213
|
-
if (foundLeaf
|
|
211
|
+
if (foundLeaf == null) {
|
|
214
212
|
throw new Error('No valid leaf found in the Merkle Path');
|
|
215
213
|
}
|
|
216
214
|
txid = foundLeaf.hash;
|
|
217
215
|
}
|
|
218
216
|
// Find the index of the txid at the lowest level of the Merkle tree
|
|
219
217
|
if (typeof txid !== 'string') {
|
|
220
|
-
throw new
|
|
218
|
+
throw new TypeError('Transaction ID is undefined');
|
|
221
219
|
}
|
|
222
220
|
const index = this.indexOf(txid);
|
|
223
|
-
if (typeof index !== 'number') {
|
|
224
|
-
throw new Error(`This proof does not contain the txid: ${txid ?? 'undefined'}`);
|
|
225
|
-
}
|
|
226
221
|
// Calculate the root using the index as a way to determine which direction to concatenate.
|
|
227
222
|
const hash = (m) => toHex(hash256(toArray(m, 'hex').reverse()).reverse());
|
|
228
223
|
let workingHash = txid;
|
|
@@ -238,12 +233,18 @@ export default class MerklePath {
|
|
|
238
233
|
const offset = (index >> height) ^ 1;
|
|
239
234
|
const leaf = this.findOrComputeLeaf(height, offset);
|
|
240
235
|
if (typeof leaf !== 'object') {
|
|
236
|
+
// For single-level paths (all txids at level 0), the sibling may be beyond the tree
|
|
237
|
+
// because this is the last odd node at this height. Bitcoin Merkle duplicates it.
|
|
238
|
+
if (this.path.length === 1 && (index >> height) === (maxOffset >> height)) {
|
|
239
|
+
workingHash = hash((workingHash ?? '') + (workingHash ?? ''));
|
|
240
|
+
continue;
|
|
241
|
+
}
|
|
241
242
|
throw new Error(`Missing hash for index ${index} at height ${height}`);
|
|
242
243
|
}
|
|
243
|
-
if (leaf.duplicate === true) {
|
|
244
|
+
else if (leaf.duplicate === true) {
|
|
244
245
|
workingHash = hash((workingHash ?? '') + (workingHash ?? ''));
|
|
245
246
|
}
|
|
246
|
-
else if (offset % 2
|
|
247
|
+
else if (offset % 2 === 1) {
|
|
247
248
|
workingHash = hash((leaf.hash ?? '') + (workingHash ?? ''));
|
|
248
249
|
}
|
|
249
250
|
else {
|
|
@@ -275,8 +276,20 @@ export default class MerklePath {
|
|
|
275
276
|
if (leaf0 == null || leaf0.hash == null || leaf0.hash === '')
|
|
276
277
|
return undefined;
|
|
277
278
|
const leaf1 = this.findOrComputeLeaf(h, l + 1);
|
|
278
|
-
if (leaf1 == null)
|
|
279
|
+
if (leaf1?.hash == null) {
|
|
280
|
+
// Explicit duplicate marker — duplicate leaf0 regardless of path depth.
|
|
281
|
+
if (leaf1?.duplicate === true) {
|
|
282
|
+
return { offset, hash: hash(leaf0.hash + leaf0.hash) };
|
|
283
|
+
}
|
|
284
|
+
// For single-level paths, leaf0 may be the last odd node at height h — duplicate it.
|
|
285
|
+
if (this.path.length === 1) {
|
|
286
|
+
const maxOffset0 = this.path[0].reduce((max, lf) => Math.max(max, lf.offset), 0);
|
|
287
|
+
if (l === (maxOffset0 >> h)) {
|
|
288
|
+
return { offset, hash: hash(leaf0.hash + leaf0.hash) };
|
|
289
|
+
}
|
|
290
|
+
}
|
|
279
291
|
return undefined;
|
|
292
|
+
}
|
|
280
293
|
let workinghash;
|
|
281
294
|
if (leaf1.duplicate === true) {
|
|
282
295
|
workinghash = hash(leaf0.hash + leaf0.hash);
|
|
@@ -327,21 +340,17 @@ export default class MerklePath {
|
|
|
327
340
|
const combinedPath = [];
|
|
328
341
|
for (let h = 0; h < this.path.length; h++) {
|
|
329
342
|
combinedPath.push([]);
|
|
330
|
-
for (
|
|
331
|
-
combinedPath[h].push(
|
|
343
|
+
for (const leaf of this.path[h]) {
|
|
344
|
+
combinedPath[h].push(leaf);
|
|
332
345
|
}
|
|
333
|
-
for (
|
|
334
|
-
|
|
335
|
-
|
|
346
|
+
for (const otherLeaf of other.path[h]) {
|
|
347
|
+
const existingLeaf = combinedPath[h].find((leaf) => leaf.offset === otherLeaf.offset);
|
|
348
|
+
if (existingLeaf === undefined) {
|
|
349
|
+
combinedPath[h].push(otherLeaf);
|
|
336
350
|
}
|
|
337
|
-
else {
|
|
351
|
+
else if (otherLeaf?.txid !== undefined && otherLeaf?.txid !== null) {
|
|
338
352
|
// Ensure that any elements which appear in both are not downgraded to a non txid.
|
|
339
|
-
|
|
340
|
-
const target = combinedPath[h].find((leaf) => leaf.offset === other.path[h][l].offset);
|
|
341
|
-
if (target !== null && target !== undefined) {
|
|
342
|
-
target.txid = true;
|
|
343
|
-
}
|
|
344
|
-
}
|
|
353
|
+
existingLeaf.txid = true;
|
|
345
354
|
}
|
|
346
355
|
}
|
|
347
356
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MerklePath.js","sourceRoot":"","sources":["../../../../src/transaction/MerklePath.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MerklePath.js","sourceRoot":"","sources":["../../../../src/transaction/MerklePath.ts"],"names":[],"mappings":"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"}
|