@bsv/sdk 2.0.13 → 2.0.15

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 (127) hide show
  1. package/README.md +2 -0
  2. package/dist/cjs/package.json +14 -14
  3. package/dist/cjs/src/identity/IdentityClient.js +3 -3
  4. package/dist/cjs/src/identity/IdentityClient.js.map +1 -1
  5. package/dist/cjs/src/identity/types/index.js +1 -1
  6. package/dist/cjs/src/identity/types/index.js.map +1 -1
  7. package/dist/cjs/src/primitives/Hash.js +1 -1
  8. package/dist/cjs/src/primitives/Hash.js.map +1 -1
  9. package/dist/cjs/src/primitives/TransactionSignature.js +10 -3
  10. package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
  11. package/dist/cjs/src/script/Script.js +60 -13
  12. package/dist/cjs/src/script/Script.js.map +1 -1
  13. package/dist/cjs/src/script/Spend.js +434 -59
  14. package/dist/cjs/src/script/Spend.js.map +1 -1
  15. package/dist/cjs/src/storage/StorageUploader.js +315 -96
  16. package/dist/cjs/src/storage/StorageUploader.js.map +1 -1
  17. package/dist/cjs/src/storage/index.js +3 -1
  18. package/dist/cjs/src/storage/index.js.map +1 -1
  19. package/dist/cjs/src/transaction/http/BinaryFetchClient.js +6 -2
  20. package/dist/cjs/src/transaction/http/BinaryFetchClient.js.map +1 -1
  21. package/dist/cjs/src/transaction/http/DefaultHttpClient.js +8 -4
  22. package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
  23. package/dist/cjs/src/wallet/WERR_REVIEW_ACTIONS.js +2 -2
  24. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  25. package/dist/esm/src/identity/IdentityClient.js +3 -3
  26. package/dist/esm/src/identity/IdentityClient.js.map +1 -1
  27. package/dist/esm/src/identity/types/index.js +1 -1
  28. package/dist/esm/src/identity/types/index.js.map +1 -1
  29. package/dist/esm/src/primitives/Hash.js +1 -1
  30. package/dist/esm/src/primitives/Hash.js.map +1 -1
  31. package/dist/esm/src/primitives/TransactionSignature.js +10 -3
  32. package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
  33. package/dist/esm/src/script/Script.js +60 -13
  34. package/dist/esm/src/script/Script.js.map +1 -1
  35. package/dist/esm/src/script/Spend.js +438 -59
  36. package/dist/esm/src/script/Spend.js.map +1 -1
  37. package/dist/esm/src/storage/StorageUploader.js +319 -95
  38. package/dist/esm/src/storage/StorageUploader.js.map +1 -1
  39. package/dist/esm/src/storage/index.js +1 -1
  40. package/dist/esm/src/storage/index.js.map +1 -1
  41. package/dist/esm/src/transaction/http/BinaryFetchClient.js +6 -2
  42. package/dist/esm/src/transaction/http/BinaryFetchClient.js.map +1 -1
  43. package/dist/esm/src/transaction/http/DefaultHttpClient.js +8 -4
  44. package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
  45. package/dist/esm/src/wallet/WERR_REVIEW_ACTIONS.js +2 -2
  46. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  47. package/dist/types/src/primitives/TransactionSignature.d.ts +1 -0
  48. package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
  49. package/dist/types/src/script/Script.d.ts +1 -0
  50. package/dist/types/src/script/Script.d.ts.map +1 -1
  51. package/dist/types/src/script/ScriptChunk.d.ts +1 -0
  52. package/dist/types/src/script/ScriptChunk.d.ts.map +1 -1
  53. package/dist/types/src/script/Spend.d.ts +29 -0
  54. package/dist/types/src/script/Spend.d.ts.map +1 -1
  55. package/dist/types/src/storage/StorageUploader.d.ts +94 -55
  56. package/dist/types/src/storage/StorageUploader.d.ts.map +1 -1
  57. package/dist/types/src/storage/index.d.ts +1 -1
  58. package/dist/types/src/storage/index.d.ts.map +1 -1
  59. package/dist/types/src/transaction/http/BinaryFetchClient.d.ts.map +1 -1
  60. package/dist/types/src/transaction/http/DefaultHttpClient.d.ts +2 -2
  61. package/dist/types/src/transaction/http/DefaultHttpClient.d.ts.map +1 -1
  62. package/dist/types/src/wallet/WERR_REVIEW_ACTIONS.d.ts +2 -2
  63. package/dist/types/src/wallet/Wallet.interfaces.d.ts +2 -2
  64. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  65. package/dist/umd/bundle.js +4 -5
  66. package/docs/index.md +3 -1
  67. package/docs/reference/identity.md +1 -1
  68. package/docs/reference/primitives.md +1 -0
  69. package/docs/reference/script.md +7 -0
  70. package/docs/reference/storage.md +214 -85
  71. package/docs/reference/transaction.md +4 -4
  72. package/docs/reference/wallet.md +4 -4
  73. package/package.json +14 -14
  74. package/src/identity/IdentityClient.ts +3 -3
  75. package/src/identity/__tests/IdentityClient.additional.test.ts +3 -3
  76. package/src/identity/types/index.ts +1 -1
  77. package/src/primitives/Hash.ts +1 -1
  78. package/src/primitives/TransactionSignature.ts +11 -3
  79. package/src/script/Script.ts +59 -13
  80. package/src/script/ScriptChunk.ts +1 -0
  81. package/src/script/Spend.ts +483 -61
  82. package/src/script/__tests/NormativeVectors.test.ts +465 -0
  83. package/src/script/__tests/fixtures/SOURCES.md +25 -0
  84. package/src/script/__tests/fixtures/bitcoin-sv/script_tests.json +2591 -0
  85. package/src/script/__tests/fixtures/bitcoin-sv/sighash.json +1003 -0
  86. package/src/script/__tests/fixtures/bitcoin-sv/tx_invalid.json +285 -0
  87. package/src/script/__tests/fixtures/bitcoin-sv/tx_valid.json +367 -0
  88. package/src/script/__tests/fixtures/teranode/script_tests.json +2432 -0
  89. package/src/script/__tests/fixtures/teranode/sighash.json +1003 -0
  90. package/src/script/__tests/fixtures/teranode/tx_invalid.json +285 -0
  91. package/src/script/__tests/fixtures/teranode/tx_valid.json +367 -0
  92. package/src/storage/StorageUploader.ts +427 -105
  93. package/src/storage/__tests/StorageUploader.test.ts +881 -64
  94. package/src/storage/index.ts +1 -1
  95. package/src/transaction/broadcasters/__tests/ARC.test.ts +26 -4
  96. package/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.ts +26 -4
  97. package/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.ts +32 -10
  98. package/src/transaction/http/BinaryFetchClient.ts +5 -2
  99. package/src/transaction/http/DefaultHttpClient.ts +7 -4
  100. package/src/transaction/http/__tests/DefaultHttpClient.additional.test.ts +19 -1
  101. package/src/wallet/WERR_REVIEW_ACTIONS.ts +2 -2
  102. package/src/wallet/Wallet.interfaces.ts +2 -2
  103. package/dist/cjs/src/auth/clients/__tests__/AuthFetch.additional.test.js +0 -827
  104. package/dist/cjs/src/auth/clients/__tests__/AuthFetch.additional.test.js.map +0 -1
  105. package/dist/cjs/src/auth/clients/__tests__/AuthFetch.test.js +0 -266
  106. package/dist/cjs/src/auth/clients/__tests__/AuthFetch.test.js.map +0 -1
  107. package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js +0 -654
  108. package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js.map +0 -1
  109. package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js +0 -144
  110. package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js.map +0 -1
  111. package/dist/esm/src/auth/clients/__tests__/AuthFetch.additional.test.js +0 -825
  112. package/dist/esm/src/auth/clients/__tests__/AuthFetch.additional.test.js.map +0 -1
  113. package/dist/esm/src/auth/clients/__tests__/AuthFetch.test.js +0 -264
  114. package/dist/esm/src/auth/clients/__tests__/AuthFetch.test.js.map +0 -1
  115. package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js +0 -619
  116. package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js.map +0 -1
  117. package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js +0 -109
  118. package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js.map +0 -1
  119. package/dist/types/src/auth/clients/__tests__/AuthFetch.additional.test.d.ts +0 -21
  120. package/dist/types/src/auth/clients/__tests__/AuthFetch.additional.test.d.ts.map +0 -1
  121. package/dist/types/src/auth/clients/__tests__/AuthFetch.test.d.ts +0 -2
  122. package/dist/types/src/auth/clients/__tests__/AuthFetch.test.d.ts.map +0 -1
  123. package/dist/types/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.d.ts +0 -2
  124. package/dist/types/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.d.ts.map +0 -1
  125. package/dist/types/src/auth/transports/__tests__/SimplifiedFetchTransport.test.d.ts +0 -2
  126. package/dist/types/src/auth/transports/__tests__/SimplifiedFetchTransport.test.d.ts.map +0 -1
  127. package/dist/umd/bundle.js.map +0 -1
@@ -325,14 +325,11 @@ class Script {
325
325
  * @returns This script instance for chaining.
326
326
  */
327
327
  removeCodeseparators() {
328
- this.invalidateSerializationCaches();
329
- const chunks = [];
330
- for (let i = 0; i < this.chunks.length; i++) {
331
- if (this.chunks[i].op !== OP_js_1.default.OP_CODESEPARATOR) {
332
- chunks.push(this.chunks[i]);
333
- }
334
- }
335
- this.chunks = chunks;
328
+ const bytes = this.toUint8Array();
329
+ this.rawBytesCache = Uint8Array.from(Script.removeOpcodeBytes(bytes, OP_js_1.default.OP_CODESEPARATOR));
330
+ this.hexCache = undefined;
331
+ this._chunks = [];
332
+ this.parsed = false;
336
333
  return this;
337
334
  }
338
335
  /**
@@ -572,20 +569,24 @@ class Script {
572
569
  const end = Math.min(pos + len, length);
573
570
  chunks.push({
574
571
  data: Script.copyRange(bytes, pos, end),
575
- op
572
+ op,
573
+ invalidLength: end - pos !== len
576
574
  });
577
575
  pos = end;
578
576
  }
579
577
  else if (op === OP_js_1.default.OP_PUSHDATA1) {
580
- const len = pos < length ? bytes[pos++] ?? 0 : 0;
578
+ const hasLength = pos < length;
579
+ const len = hasLength ? bytes[pos++] ?? 0 : 0;
581
580
  const end = Math.min(pos + len, length);
582
581
  chunks.push({
583
582
  data: Script.copyRange(bytes, pos, end),
584
- op
583
+ op,
584
+ invalidLength: !hasLength || end - pos !== len
585
585
  });
586
586
  pos = end;
587
587
  }
588
588
  else if (op === OP_js_1.default.OP_PUSHDATA2) {
589
+ const hasLength = pos + 1 < length;
589
590
  const b0 = bytes[pos] ?? 0;
590
591
  const b1 = bytes[pos + 1] ?? 0;
591
592
  const len = b0 | (b1 << 8);
@@ -593,11 +594,13 @@ class Script {
593
594
  const end = Math.min(pos + len, length);
594
595
  chunks.push({
595
596
  data: Script.copyRange(bytes, pos, end),
596
- op
597
+ op,
598
+ invalidLength: !hasLength || end - pos !== len
597
599
  });
598
600
  pos = end;
599
601
  }
600
602
  else if (op === OP_js_1.default.OP_PUSHDATA4) {
603
+ const hasLength = pos + 3 < length;
601
604
  const len = ((bytes[pos] ?? 0) |
602
605
  ((bytes[pos + 1] ?? 0) << 8) |
603
606
  ((bytes[pos + 2] ?? 0) << 16) |
@@ -607,7 +610,8 @@ class Script {
607
610
  const end = Math.min(pos + len, length);
608
611
  chunks.push({
609
612
  data: Script.copyRange(bytes, pos, end),
610
- op
613
+ op,
614
+ invalidLength: !hasLength || end - pos !== len
611
615
  });
612
616
  pos = end;
613
617
  }
@@ -617,6 +621,49 @@ class Script {
617
621
  }
618
622
  return chunks;
619
623
  }
624
+ static removeOpcodeBytes(bytes, opcode) {
625
+ const out = [];
626
+ const length = bytes.length;
627
+ let pos = 0;
628
+ while (pos < length) {
629
+ const start = pos;
630
+ const op = bytes[pos++] ?? 0;
631
+ let dataStart = pos;
632
+ let dataLength = 0;
633
+ if (op > 0 && op < OP_js_1.default.OP_PUSHDATA1) {
634
+ dataLength = op;
635
+ }
636
+ else if (op === OP_js_1.default.OP_PUSHDATA1) {
637
+ if (pos < length)
638
+ dataLength = bytes[pos++] ?? 0;
639
+ dataStart = pos;
640
+ }
641
+ else if (op === OP_js_1.default.OP_PUSHDATA2) {
642
+ if (pos + 1 < length)
643
+ dataLength = (bytes[pos] ?? 0) | ((bytes[pos + 1] ?? 0) << 8);
644
+ pos = Math.min(pos + 2, length);
645
+ dataStart = pos;
646
+ }
647
+ else if (op === OP_js_1.default.OP_PUSHDATA4) {
648
+ if (pos + 3 < length) {
649
+ dataLength =
650
+ ((bytes[pos] ?? 0) |
651
+ ((bytes[pos + 1] ?? 0) << 8) |
652
+ ((bytes[pos + 2] ?? 0) << 16) |
653
+ ((bytes[pos + 3] ?? 0) << 24)) >>> 0;
654
+ }
655
+ pos = Math.min(pos + 4, length);
656
+ dataStart = pos;
657
+ }
658
+ const end = Math.min(dataStart + dataLength, length);
659
+ if (op !== opcode) {
660
+ for (let i = start; i < end; i++)
661
+ out.push(bytes[i] ?? 0);
662
+ }
663
+ pos = end;
664
+ }
665
+ return out;
666
+ }
620
667
  static copyRange(bytes, start, end) {
621
668
  const size = Math.max(end - start, 0);
622
669
  const data = new Array(size);
@@ -1 +1 @@
1
- {"version":3,"file":"Script.js","sourceRoot":"","sources":["../../../../src/script/Script.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Script.js","sourceRoot":"","sources":["../../../../src/script/Script.ts"],"names":[],"mappings":"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"}