@bsv/sdk 2.0.14 → 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 (90) hide show
  1. package/dist/cjs/package.json +14 -14
  2. package/dist/cjs/src/primitives/Hash.js +1 -1
  3. package/dist/cjs/src/primitives/Hash.js.map +1 -1
  4. package/dist/cjs/src/primitives/TransactionSignature.js +10 -3
  5. package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
  6. package/dist/cjs/src/script/Script.js +60 -13
  7. package/dist/cjs/src/script/Script.js.map +1 -1
  8. package/dist/cjs/src/script/Spend.js +434 -59
  9. package/dist/cjs/src/script/Spend.js.map +1 -1
  10. package/dist/cjs/src/transaction/http/BinaryFetchClient.js +6 -2
  11. package/dist/cjs/src/transaction/http/BinaryFetchClient.js.map +1 -1
  12. package/dist/cjs/src/transaction/http/DefaultHttpClient.js +8 -4
  13. package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
  14. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  15. package/dist/esm/src/primitives/Hash.js +1 -1
  16. package/dist/esm/src/primitives/Hash.js.map +1 -1
  17. package/dist/esm/src/primitives/TransactionSignature.js +10 -3
  18. package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
  19. package/dist/esm/src/script/Script.js +60 -13
  20. package/dist/esm/src/script/Script.js.map +1 -1
  21. package/dist/esm/src/script/Spend.js +438 -59
  22. package/dist/esm/src/script/Spend.js.map +1 -1
  23. package/dist/esm/src/transaction/http/BinaryFetchClient.js +6 -2
  24. package/dist/esm/src/transaction/http/BinaryFetchClient.js.map +1 -1
  25. package/dist/esm/src/transaction/http/DefaultHttpClient.js +8 -4
  26. package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
  27. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  28. package/dist/types/src/primitives/TransactionSignature.d.ts +1 -0
  29. package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
  30. package/dist/types/src/script/Script.d.ts +1 -0
  31. package/dist/types/src/script/Script.d.ts.map +1 -1
  32. package/dist/types/src/script/ScriptChunk.d.ts +1 -0
  33. package/dist/types/src/script/ScriptChunk.d.ts.map +1 -1
  34. package/dist/types/src/script/Spend.d.ts +29 -0
  35. package/dist/types/src/script/Spend.d.ts.map +1 -1
  36. package/dist/types/src/transaction/http/BinaryFetchClient.d.ts.map +1 -1
  37. package/dist/types/src/transaction/http/DefaultHttpClient.d.ts +2 -2
  38. package/dist/types/src/transaction/http/DefaultHttpClient.d.ts.map +1 -1
  39. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  40. package/dist/umd/bundle.js +3 -4
  41. package/docs/reference/primitives.md +1 -0
  42. package/docs/reference/script.md +7 -0
  43. package/docs/reference/transaction.md +2 -2
  44. package/package.json +14 -14
  45. package/src/primitives/Hash.ts +1 -1
  46. package/src/primitives/TransactionSignature.ts +11 -3
  47. package/src/script/Script.ts +59 -13
  48. package/src/script/ScriptChunk.ts +1 -0
  49. package/src/script/Spend.ts +483 -61
  50. package/src/script/__tests/NormativeVectors.test.ts +465 -0
  51. package/src/script/__tests/fixtures/SOURCES.md +25 -0
  52. package/src/script/__tests/fixtures/bitcoin-sv/script_tests.json +2591 -0
  53. package/src/script/__tests/fixtures/bitcoin-sv/sighash.json +1003 -0
  54. package/src/script/__tests/fixtures/bitcoin-sv/tx_invalid.json +285 -0
  55. package/src/script/__tests/fixtures/bitcoin-sv/tx_valid.json +367 -0
  56. package/src/script/__tests/fixtures/teranode/script_tests.json +2432 -0
  57. package/src/script/__tests/fixtures/teranode/sighash.json +1003 -0
  58. package/src/script/__tests/fixtures/teranode/tx_invalid.json +285 -0
  59. package/src/script/__tests/fixtures/teranode/tx_valid.json +367 -0
  60. package/src/transaction/broadcasters/__tests/ARC.test.ts +26 -4
  61. package/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.ts +26 -4
  62. package/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.ts +32 -10
  63. package/src/transaction/http/BinaryFetchClient.ts +5 -2
  64. package/src/transaction/http/DefaultHttpClient.ts +7 -4
  65. package/src/transaction/http/__tests/DefaultHttpClient.additional.test.ts +19 -1
  66. package/dist/cjs/src/auth/clients/__tests__/AuthFetch.additional.test.js +0 -827
  67. package/dist/cjs/src/auth/clients/__tests__/AuthFetch.additional.test.js.map +0 -1
  68. package/dist/cjs/src/auth/clients/__tests__/AuthFetch.test.js +0 -266
  69. package/dist/cjs/src/auth/clients/__tests__/AuthFetch.test.js.map +0 -1
  70. package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js +0 -654
  71. package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js.map +0 -1
  72. package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js +0 -144
  73. package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js.map +0 -1
  74. package/dist/esm/src/auth/clients/__tests__/AuthFetch.additional.test.js +0 -825
  75. package/dist/esm/src/auth/clients/__tests__/AuthFetch.additional.test.js.map +0 -1
  76. package/dist/esm/src/auth/clients/__tests__/AuthFetch.test.js +0 -264
  77. package/dist/esm/src/auth/clients/__tests__/AuthFetch.test.js.map +0 -1
  78. package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js +0 -619
  79. package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js.map +0 -1
  80. package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js +0 -109
  81. package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js.map +0 -1
  82. package/dist/types/src/auth/clients/__tests__/AuthFetch.additional.test.d.ts +0 -21
  83. package/dist/types/src/auth/clients/__tests__/AuthFetch.additional.test.d.ts.map +0 -1
  84. package/dist/types/src/auth/clients/__tests__/AuthFetch.test.d.ts +0 -2
  85. package/dist/types/src/auth/clients/__tests__/AuthFetch.test.d.ts.map +0 -1
  86. package/dist/types/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.d.ts +0 -2
  87. package/dist/types/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.d.ts.map +0 -1
  88. package/dist/types/src/auth/transports/__tests__/SimplifiedFetchTransport.test.d.ts +0 -2
  89. package/dist/types/src/auth/transports/__tests__/SimplifiedFetchTransport.test.d.ts.map +0 -1
  90. package/dist/umd/bundle.js.map +0 -1
@@ -55,6 +55,7 @@ export default class TransactionSignature extends Signature {
55
55
  */
56
56
  static format(params: TransactionSignatureFormatParams): number[];
57
57
  static formatBytes(params: TransactionSignatureFormatParams): Uint8Array;
58
+ static usesOtdaSingleBug(params: TransactionSignatureFormatParams): boolean;
58
59
  static fromChecksigFormat(buf: number[]): TransactionSignature;
59
60
  constructor(r: BigNumber, s: BigNumber, scope: number);
60
61
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionSignature.d.ts","sourceRoot":"","sources":["../../../../src/primitives/TransactionSignature.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAGtC,OAAO,MAAM,MAAM,qBAAqB,CAAA;AAExC,OAAO,gBAAgB,MAAM,oCAAoC,CAAA;AACjE,OAAO,iBAAiB,MAAM,qCAAqC,CAAA;AAEnE,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAC1C;AAED,UAAU,gCAAgC;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,kBAAkB,CAAA;IAC1B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAID,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,SAAS;IACzD,gBAAuB,WAAW,KAAa;IAC/C,gBAAuB,YAAY,KAAa;IAChD,gBAAuB,cAAc,KAAa;IAClD,gBAAuB,iBAAiB,MAAa;IACrD,gBAAuB,cAAc,MAAa;IAClD,gBAAuB,oBAAoB,OAAa;IAExD,KAAK,EAAE,MAAM,CAAA;IAEb;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAE,MAAM,EAAE,gCAAgC,GAAG,UAAU;IAoFxE;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAE,MAAM,EAAE,gCAAgC,GAAG,UAAU;IAwK1E;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAE,MAAM,EAAE,gCAAgC,GAAG,MAAM,EAAE;IAIlE,MAAM,CAAC,WAAW,CAAE,MAAM,EAAE,gCAAgC,GAAG,UAAU;IAgBzE,MAAM,CAAC,kBAAkB,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,oBAAoB;gBAclD,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;IAKtD;;;;OAIG;IACI,OAAO,IAAK,OAAO;IAe1B,gBAAgB,IAAK,MAAM,EAAE;CAI9B"}
1
+ {"version":3,"file":"TransactionSignature.d.ts","sourceRoot":"","sources":["../../../../src/primitives/TransactionSignature.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAGtC,OAAO,MAAM,MAAM,qBAAqB,CAAA;AACxC,OAAO,gBAAgB,MAAM,oCAAoC,CAAA;AACjE,OAAO,iBAAiB,MAAM,qCAAqC,CAAA;AAEnE,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAC1C;AAED,UAAU,gCAAgC;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,kBAAkB,CAAA;IAC1B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAID,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,SAAS;IACzD,gBAAuB,WAAW,KAAa;IAC/C,gBAAuB,YAAY,KAAa;IAChD,gBAAuB,cAAc,KAAa;IAClD,gBAAuB,iBAAiB,MAAa;IACrD,gBAAuB,cAAc,MAAa;IAClD,gBAAuB,oBAAoB,OAAa;IAExD,KAAK,EAAE,MAAM,CAAA;IAEb;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAE,MAAM,EAAE,gCAAgC,GAAG,UAAU;IAoFxE;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAE,MAAM,EAAE,gCAAgC,GAAG,UAAU;IAwK1E;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAE,MAAM,EAAE,gCAAgC,GAAG,MAAM,EAAE;IAIlE,MAAM,CAAC,WAAW,CAAE,MAAM,EAAE,gCAAgC,GAAG,UAAU;IAezE,MAAM,CAAC,iBAAiB,CAAE,MAAM,EAAE,gCAAgC,GAAG,OAAO;IAU5E,MAAM,CAAC,kBAAkB,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,oBAAoB;gBAclD,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;IAKtD;;;;OAIG;IACI,OAAO,IAAK,OAAO;IAe1B,gBAAgB,IAAK,MAAM,EAAE;CAI9B"}
@@ -151,6 +151,7 @@ export default class Script {
151
151
  private invalidateSerializationCaches;
152
152
  private static writeChunkData;
153
153
  private static parseChunks;
154
+ private static removeOpcodeBytes;
154
155
  private static copyRange;
155
156
  private _chunkToString;
156
157
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Script.d.ts","sourceRoot":"","sources":["../../../../src/script/Script.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,kBAAkB,CAAA;AAG1C,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAYlD,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAC,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,CAAQ;IAEzB;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAuEpC;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAepC;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM;IAKzC;;;;;;;OAOG;gBACU,MAAM,GAAE,WAAW,EAAO,EAAE,aAAa,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,OAAc;IAO9G,IAAI,MAAM,IAAK,WAAW,EAAE,CAG3B;IAED,IAAI,MAAM,CAAE,KAAK,EAAE,WAAW,EAAE,EAI/B;IAED,OAAO,CAAC,YAAY;IAUpB;;;;OAIG;IACH,KAAK,IAAK,MAAM;IAUhB;;;;OAIG;IACH,KAAK,IAAK,MAAM;IAehB;;;;OAIG;IACH,QAAQ,IAAK,MAAM,EAAE;IAIrB,YAAY,IAAK,UAAU;IAO3B;;;;;OAKG;IACH,WAAW,CAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAMpC;;;;;OAKG;IACH,WAAW,CAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAMhC;;;;;;OAMG;IACH,cAAc,CAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAM9C;;;;;OAKG;IACH,OAAO,CAAE,EAAE,EAAE,SAAS,GAAG,MAAM;IAsB/B;;;;;;OAMG;IACH,QAAQ,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM;IAwBhC;;;;;OAKG;IACH,WAAW,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAMjC;;;;OAIG;IACH,oBAAoB,IAAK,MAAM;IAY/B;;;;;;OAMG;IACH,aAAa,CAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IA8EtC;;;;OAIG;IACH,UAAU,IAAK,OAAO;IAWtB;;;;OAIG;IACH,eAAe,IAAK,OAAO;IAI3B;;;;OAIG;IACH,iBAAiB,IAAK,OAAO;IAI7B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAuBtC,OAAO,CAAC,sBAAsB;IAqB9B,OAAO,CAAC,6BAA6B;IAKrC,OAAO,CAAC,MAAM,CAAC,cAAc;IA+B7B,OAAO,CAAC,MAAM,CAAC,WAAW;IA6E1B,OAAO,CAAC,MAAM,CAAC,SAAS;IAaxB,OAAO,CAAC,cAAc;CAWvB"}
1
+ {"version":3,"file":"Script.d.ts","sourceRoot":"","sources":["../../../../src/script/Script.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,kBAAkB,CAAA;AAG1C,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAYlD,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAC,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,CAAQ;IAEzB;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAuEpC;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAepC;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM;IAKzC;;;;;;;OAOG;gBACU,MAAM,GAAE,WAAW,EAAO,EAAE,aAAa,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,OAAc;IAO9G,IAAI,MAAM,IAAK,WAAW,EAAE,CAG3B;IAED,IAAI,MAAM,CAAE,KAAK,EAAE,WAAW,EAAE,EAI/B;IAED,OAAO,CAAC,YAAY;IAUpB;;;;OAIG;IACH,KAAK,IAAK,MAAM;IAUhB;;;;OAIG;IACH,KAAK,IAAK,MAAM;IAehB;;;;OAIG;IACH,QAAQ,IAAK,MAAM,EAAE;IAIrB,YAAY,IAAK,UAAU;IAO3B;;;;;OAKG;IACH,WAAW,CAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAMpC;;;;;OAKG;IACH,WAAW,CAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAMhC;;;;;;OAMG;IACH,cAAc,CAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAM9C;;;;;OAKG;IACH,OAAO,CAAE,EAAE,EAAE,SAAS,GAAG,MAAM;IAsB/B;;;;;;OAMG;IACH,QAAQ,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM;IAwBhC;;;;;OAKG;IACH,WAAW,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAMjC;;;;OAIG;IACH,oBAAoB,IAAK,MAAM;IAS/B;;;;;;OAMG;IACH,aAAa,CAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IA8EtC;;;;OAIG;IACH,UAAU,IAAK,OAAO;IAWtB;;;;OAIG;IACH,eAAe,IAAK,OAAO;IAI3B;;;;OAIG;IACH,iBAAiB,IAAK,OAAO;IAI7B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAuBtC,OAAO,CAAC,sBAAsB;IAqB9B,OAAO,CAAC,6BAA6B;IAKrC,OAAO,CAAC,MAAM,CAAC,cAAc;IA+B7B,OAAO,CAAC,MAAM,CAAC,WAAW;IAoF1B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IA0ChC,OAAO,CAAC,MAAM,CAAC,SAAS;IAaxB,OAAO,CAAC,cAAc;CAWvB"}
@@ -4,5 +4,6 @@
4
4
  export default interface ScriptChunk {
5
5
  op: number;
6
6
  data?: number[];
7
+ invalidLength?: boolean;
7
8
  }
8
9
  //# sourceMappingURL=ScriptChunk.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScriptChunk.d.ts","sourceRoot":"","sources":["../../../../src/script/ScriptChunk.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,WAAW;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAChB"}
1
+ {"version":3,"file":"ScriptChunk.d.ts","sourceRoot":"","sources":["../../../../src/script/ScriptChunk.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,WAAW;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB"}
@@ -41,10 +41,14 @@ export default class Spend {
41
41
  stack: number[][];
42
42
  altStack: number[][];
43
43
  ifStack: boolean[];
44
+ elseStack: boolean[];
44
45
  memoryLimit: number;
45
46
  stackMem: number;
46
47
  altStackMem: number;
47
48
  isRelaxedOverride: boolean;
49
+ verifyFlags?: Set<string>;
50
+ executedOpCount: number;
51
+ returningFromConditional: boolean;
48
52
  private sigHashCache;
49
53
  /**
50
54
  * @constructor
@@ -94,8 +98,22 @@ export default class Spend {
94
98
  lockTime: number;
95
99
  memoryLimit?: number;
96
100
  isRelaxed?: boolean;
101
+ verifyFlags?: string | string[];
97
102
  });
98
103
  private isRelaxed;
104
+ private hasExplicitFlags;
105
+ private hasFlag;
106
+ private isAfterGenesis;
107
+ private isAfterChronicle;
108
+ private shouldEnforceMinimalData;
109
+ private shouldEnforceLowS;
110
+ private shouldEnforceNullDummy;
111
+ private shouldEnforceSigPushOnly;
112
+ private shouldEnforceCleanStack;
113
+ private shouldEnforceDerSignatures;
114
+ private shouldEnforceStrictEncoding;
115
+ private scriptNumMaxSize;
116
+ private maxPushSize;
99
117
  reset(): void;
100
118
  private ensureStackMem;
101
119
  private ensureAltStackMem;
@@ -103,9 +121,17 @@ export default class Spend {
103
121
  private pushStackCopy;
104
122
  private popStack;
105
123
  private stackTop;
124
+ private setStack;
125
+ private clearAltStack;
106
126
  private pushAltStack;
107
127
  private popAltStack;
128
+ private readScriptNumber;
129
+ private isDefinedHashType;
108
130
  private checkSignatureEncoding;
131
+ private parseChecksigSignature;
132
+ private readLaxDERLength;
133
+ private parseLaxDERInteger;
134
+ private parseLaxChecksigSignature;
109
135
  private checkPublicKeyEncoding;
110
136
  private verifySignature;
111
137
  step(): boolean;
@@ -121,6 +147,9 @@ export default class Spend {
121
147
  * }
122
148
  */
123
149
  validate(): boolean;
150
+ private runScript;
151
+ private isP2SHLockingScript;
152
+ private requireTruthyTopStack;
124
153
  private castToBool;
125
154
  private scriptEvaluationError;
126
155
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Spend.d.ts","sourceRoot":"","sources":["../../../../src/script/Spend.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAC9C,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAWlD,OAAO,gBAAgB,MAAM,oCAAoC,CAAA;AACjE,OAAO,iBAAiB,MAAM,qCAAqC,CAAA;AAuFnE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,OAAO,OAAO,KAAK;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,eAAe,CAAA;IAChC,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAEhB,OAAO,EAAE,iBAAiB,GAAG,eAAe,CAAA;IAC5C,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAA;IACpB,OAAO,EAAE,OAAO,EAAE,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,OAAO,CAAA;IAE1B,OAAO,CAAC,YAAY,CAAoB;IAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;gBACU,MAAM,EAAE;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,iBAAiB,EAAE,MAAM,CAAA;QACzB,cAAc,EAAE,MAAM,CAAA;QACtB,aAAa,EAAE,aAAa,CAAA;QAC5B,kBAAkB,EAAE,MAAM,CAAA;QAC1B,WAAW,EAAE,gBAAgB,EAAE,CAAA;QAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAA;QAC5B,eAAe,EAAE,eAAe,CAAA;QAChC,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;QAChB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,SAAS,CAAC,EAAE,OAAO,CAAA;KACpB;IAuBD,OAAO,CAAC,SAAS;IAKjB,KAAK,IAAK,IAAI;IAYd,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,QAAQ;IAahB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,sBAAsB;IAoB9B,OAAO,CAAC,sBAAsB;IAgC9B,OAAO,CAAC,eAAe;IAuBvB,IAAI,IAAK,OAAO;IAqsBhB;;;;;;;;;;OAUG;IACH,QAAQ,IAAK,OAAO;IA2CpB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,qBAAqB;CAc9B"}
1
+ {"version":3,"file":"Spend.d.ts","sourceRoot":"","sources":["../../../../src/script/Spend.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BinaryFetchClient.d.ts","sourceRoot":"","sources":["../../../../../src/transaction/http/BinaryFetchClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,iBAAiB,CAAA;AAGxB,sEAAsE;AACtE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,CACP,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,wBAAwB,EACjC,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,KACzB,6BAA6B,CAAA;CACnC;AAED,uFAAuF;AACvF,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAE9B,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,KAAK,IAAI,CAAA;IAE1D,GAAG,EAAE,MAAM,IAAI,CAAA;CAChB;AAED;;GAEG;AACH,qBAAa,sBAAuB,YAAW,UAAU;IAC3C,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,iBAAiB;IAE/C,OAAO,CACX,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,wBAAwB,GACvC,OAAO,CAAC,kBAAkB,CAAC;CAQ/B;AAED,mEAAmE;AACnE;;;;GAIG;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAE7E;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,GAAG,IAAI,CAAA;CACzC;AAED;;GAEG;AACH,qBAAa,iBAAkB,YAAW,UAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,KAAK;IAEnC,OAAO,CAAC,CAAC,EACb,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;CAiBlC;AAED,wBAAgB,gBAAgB,IAAI,UAAU,CAuB7C"}
1
+ {"version":3,"file":"BinaryFetchClient.d.ts","sourceRoot":"","sources":["../../../../../src/transaction/http/BinaryFetchClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,iBAAiB,CAAA;AAGxB,sEAAsE;AACtE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,CACP,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,wBAAwB,EACjC,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,KACzB,6BAA6B,CAAA;CACnC;AAED,uFAAuF;AACvF,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAE9B,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,KAAK,IAAI,CAAA;IAE1D,GAAG,EAAE,MAAM,IAAI,CAAA;CAChB;AAED;;GAEG;AACH,qBAAa,sBAAuB,YAAW,UAAU;IAC3C,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,iBAAiB;IAE/C,OAAO,CACX,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,wBAAwB,GACvC,OAAO,CAAC,kBAAkB,CAAC;CAQ/B;AAED,mEAAmE;AACnE;;;;GAIG;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAE7E;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,GAAG,IAAI,CAAA;CACzC;AAED;;GAEG;AACH,qBAAa,iBAAkB,YAAW,UAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,KAAK;IAEnC,OAAO,CAAC,CAAC,EACb,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;CAiBlC;AAED,wBAAgB,gBAAgB,IAAI,UAAU,CA0B7C"}
@@ -1,8 +1,8 @@
1
1
  import { HttpClient } from './HttpClient.js';
2
2
  /**
3
3
  * Returns a default HttpClient implementation based on the environment that it is run on.
4
- * This method will attempt to use `window.fetch` if available (in browser environments).
5
- * If running in a Node environment, it falls back to using the Node `https` module
4
+ * This method will attempt to use `window.fetch` if available (in browser environments),
5
+ * then `globalThis.fetch` (service workers, Deno, Node 18+), then the Node `https` module.
6
6
  */
7
7
  export declare function defaultHttpClient(): HttpClient;
8
8
  //# sourceMappingURL=DefaultHttpClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultHttpClient.d.ts","sourceRoot":"","sources":["../../../../../src/transaction/http/DefaultHttpClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,iBAAiB,CAAA;AAIhE;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,UAAU,CAuB9C"}
1
+ {"version":3,"file":"DefaultHttpClient.d.ts","sourceRoot":"","sources":["../../../../../src/transaction/http/DefaultHttpClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,iBAAiB,CAAA;AAIhE;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,UAAU,CA0B9C"}