@bsv/sdk 1.1.23 → 1.1.25

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 (86) hide show
  1. package/dist/cjs/package.json +1 -1
  2. package/dist/cjs/src/primitives/Curve.js +7 -7
  3. package/dist/cjs/src/primitives/Curve.js.map +1 -1
  4. package/dist/cjs/src/primitives/ECDSA.js +394 -71
  5. package/dist/cjs/src/primitives/ECDSA.js.map +1 -1
  6. package/dist/cjs/src/primitives/Point.js +103 -23
  7. package/dist/cjs/src/primitives/Point.js.map +1 -1
  8. package/dist/cjs/src/primitives/TransactionSignature.js +4 -3
  9. package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
  10. package/dist/cjs/src/primitives/utils.js +14 -15
  11. package/dist/cjs/src/primitives/utils.js.map +1 -1
  12. package/dist/cjs/src/script/Spend.js +4 -4
  13. package/dist/cjs/src/script/Spend.js.map +1 -1
  14. package/dist/cjs/src/totp/totp.js +1 -1
  15. package/dist/cjs/src/totp/totp.js.map +1 -1
  16. package/dist/cjs/src/transaction/Beef.js +492 -0
  17. package/dist/cjs/src/transaction/Beef.js.map +1 -0
  18. package/dist/cjs/src/transaction/BeefParty.js +97 -0
  19. package/dist/cjs/src/transaction/BeefParty.js.map +1 -0
  20. package/dist/cjs/src/transaction/BeefTx.js +123 -0
  21. package/dist/cjs/src/transaction/BeefTx.js.map +1 -0
  22. package/dist/cjs/src/transaction/Transaction.js +81 -66
  23. package/dist/cjs/src/transaction/Transaction.js.map +1 -1
  24. package/dist/cjs/src/transaction/index.js +7 -1
  25. package/dist/cjs/src/transaction/index.js.map +1 -1
  26. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  27. package/dist/esm/src/primitives/Curve.js +7 -7
  28. package/dist/esm/src/primitives/Curve.js.map +1 -1
  29. package/dist/esm/src/primitives/ECDSA.js +394 -71
  30. package/dist/esm/src/primitives/ECDSA.js.map +1 -1
  31. package/dist/esm/src/primitives/Point.js +103 -23
  32. package/dist/esm/src/primitives/Point.js.map +1 -1
  33. package/dist/esm/src/primitives/TransactionSignature.js +4 -3
  34. package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
  35. package/dist/esm/src/primitives/utils.js +14 -15
  36. package/dist/esm/src/primitives/utils.js.map +1 -1
  37. package/dist/esm/src/script/Spend.js +4 -4
  38. package/dist/esm/src/script/Spend.js.map +1 -1
  39. package/dist/esm/src/totp/totp.js +1 -1
  40. package/dist/esm/src/totp/totp.js.map +1 -1
  41. package/dist/esm/src/transaction/Beef.js +485 -0
  42. package/dist/esm/src/transaction/Beef.js.map +1 -0
  43. package/dist/esm/src/transaction/BeefParty.js +93 -0
  44. package/dist/esm/src/transaction/BeefParty.js.map +1 -0
  45. package/dist/esm/src/transaction/BeefTx.js +121 -0
  46. package/dist/esm/src/transaction/BeefTx.js.map +1 -0
  47. package/dist/esm/src/transaction/Transaction.js +81 -66
  48. package/dist/esm/src/transaction/Transaction.js.map +1 -1
  49. package/dist/esm/src/transaction/index.js +3 -0
  50. package/dist/esm/src/transaction/index.js.map +1 -1
  51. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  52. package/dist/types/src/primitives/ECDSA.d.ts.map +1 -1
  53. package/dist/types/src/primitives/Point.d.ts +5 -0
  54. package/dist/types/src/primitives/Point.d.ts.map +1 -1
  55. package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
  56. package/dist/types/src/primitives/utils.d.ts.map +1 -1
  57. package/dist/types/src/transaction/Beef.d.ts +143 -0
  58. package/dist/types/src/transaction/Beef.d.ts.map +1 -0
  59. package/dist/types/src/transaction/BeefParty.d.ts +62 -0
  60. package/dist/types/src/transaction/BeefParty.d.ts.map +1 -0
  61. package/dist/types/src/transaction/BeefTx.d.ts +35 -0
  62. package/dist/types/src/transaction/BeefTx.d.ts.map +1 -0
  63. package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
  64. package/dist/types/src/transaction/TransactionInput.d.ts +1 -1
  65. package/dist/types/src/transaction/TransactionInput.d.ts.map +1 -1
  66. package/dist/types/src/transaction/index.d.ts +3 -0
  67. package/dist/types/src/transaction/index.d.ts.map +1 -1
  68. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  69. package/docs/primitives.md +373 -55
  70. package/docs/transaction.md +467 -1
  71. package/package.json +1 -1
  72. package/src/primitives/Curve.ts +7 -7
  73. package/src/primitives/ECDSA.ts +485 -75
  74. package/src/primitives/Point.ts +110 -25
  75. package/src/primitives/TransactionSignature.ts +4 -3
  76. package/src/primitives/utils.ts +15 -11
  77. package/src/script/Spend.ts +4 -4
  78. package/src/totp/totp.ts +1 -1
  79. package/src/transaction/Beef.ts +533 -0
  80. package/src/transaction/BeefParty.ts +100 -0
  81. package/src/transaction/BeefTx.ts +121 -0
  82. package/src/transaction/Transaction.ts +95 -69
  83. package/src/transaction/TransactionInput.ts +1 -1
  84. package/src/transaction/__tests/Beef.test.ts +290 -0
  85. package/src/transaction/__tests/Transaction.benchmarks.test.ts +222 -0
  86. package/src/transaction/index.ts +3 -0
@@ -16,6 +16,10 @@ import ReductionContext from './ReductionContext.js';
16
16
  * @property inf - Flag to record if the point is at infinity in the Elliptic Curve.
17
17
  */
18
18
  export default class Point extends BasePoint {
19
+ static red = new ReductionContext('k256');
20
+ static a = new BigNumber(0).toRed(Point.red);
21
+ static b = new BigNumber(7).toRed(Point.red);
22
+ static zero = new BigNumber(0).toRed(Point.red);
19
23
  x;
20
24
  y;
21
25
  inf;
@@ -80,6 +84,12 @@ export default class Point extends BasePoint {
80
84
  const bytes = toArray(str, 'hex');
81
85
  return Point.fromDER(bytes);
82
86
  }
87
+ static redSqrtOptimized(y2) {
88
+ const red = Point.red;
89
+ const p = red.m; // The modulus
90
+ const exponent = p.addn(1).iushrn(2); // (p + 1) / 4
91
+ return y2.redPow(exponent);
92
+ }
83
93
  /**
84
94
  * Generates a point from an x coordinate and a boolean indicating whether the corresponding
85
95
  * y coordinate is odd.
@@ -96,29 +106,99 @@ export default class Point extends BasePoint {
96
106
  * const point = Point.fromX(xCoordinate, true);
97
107
  */
98
108
  static fromX(x, odd) {
99
- const red = new ReductionContext('k256');
100
- const a = new BigNumber(0).toRed(red);
101
- const b = new BigNumber(7).toRed(red);
102
- const zero = new BigNumber(0).toRed(red);
103
- if (!BigNumber.isBN(x)) {
104
- x = new BigNumber(x, 16);
105
- }
106
- x = x;
107
- if (x.red == null) {
108
- x = x.toRed(red);
109
- }
110
- const y2 = x.redSqr().redMul(x).redIAdd(x.redMul(a)).redIAdd(b);
111
- let y = y2.redSqrt();
112
- if (y.redSqr().redSub(y2).cmp(zero) !== 0) {
113
- throw new Error('invalid point');
114
- }
115
- // XXX Is there any way to tell if the number is odd without converting it
116
- // to non-red form?
117
- const isOdd = y.fromRed().isOdd();
118
- if ((odd && !isOdd) || (!odd && isOdd)) {
119
- y = y.redNeg();
120
- }
121
- return new Point(x, y);
109
+ if (typeof BigInt === 'function') {
110
+ function mod(a, n) {
111
+ return ((a % n) + n) % n;
112
+ }
113
+ function modPow(base, exponent, modulus) {
114
+ let result = BigInt(1);
115
+ base = mod(base, modulus);
116
+ while (exponent > BigInt(0)) {
117
+ if ((exponent & BigInt(1)) === BigInt(1)) {
118
+ result = mod(result * base, modulus);
119
+ }
120
+ exponent >>= BigInt(1);
121
+ base = mod(base * base, modulus);
122
+ }
123
+ return result;
124
+ }
125
+ function sqrtMod(a, p) {
126
+ const exponent = (p + BigInt(1)) >> BigInt(2); // Precomputed exponent
127
+ const sqrtCandidate = modPow(a, exponent, p);
128
+ if (mod(sqrtCandidate * sqrtCandidate, p) === mod(a, p)) {
129
+ return sqrtCandidate;
130
+ }
131
+ else {
132
+ // No square root exists
133
+ return null;
134
+ }
135
+ }
136
+ // Curve parameters for secp256k1
137
+ const p = BigInt('0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F');
138
+ const a = BigInt(0);
139
+ const b = BigInt(7);
140
+ // Convert x to BigInt
141
+ let xBigInt;
142
+ if (x instanceof BigNumber) {
143
+ xBigInt = BigInt('0x' + x.toString(16));
144
+ }
145
+ else if (typeof x === 'string') {
146
+ xBigInt = BigInt('0x' + x);
147
+ }
148
+ else if (Array.isArray(x)) {
149
+ xBigInt = BigInt('0x' +
150
+ Buffer.from(x).toString('hex').padStart(64, '0'));
151
+ }
152
+ else if (typeof x === 'number') {
153
+ xBigInt = BigInt(x);
154
+ }
155
+ else {
156
+ throw new Error('Invalid x-coordinate type');
157
+ }
158
+ // Ensure x is within field range
159
+ xBigInt = mod(xBigInt, p);
160
+ // Compute y^2 = x^3 + a x + b mod p
161
+ const y2 = mod(modPow(xBigInt, BigInt(3), p) + b, p);
162
+ // Compute modular square root y = sqrt(y2) mod p
163
+ let y = sqrtMod(y2, p);
164
+ if (y === null) {
165
+ throw new Error('Invalid point');
166
+ }
167
+ // Adjust y to match the oddness
168
+ const isYOdd = (y % BigInt(2)) === BigInt(1);
169
+ if ((odd && !isYOdd) || (!odd && isYOdd)) {
170
+ y = p - y;
171
+ }
172
+ // Convert x and y to BigNumber
173
+ const xBN = new BigNumber(xBigInt.toString(16), 16);
174
+ const yBN = new BigNumber(y.toString(16), 16);
175
+ return new Point(xBN, yBN);
176
+ }
177
+ else {
178
+ const red = new ReductionContext('k256');
179
+ const a = new BigNumber(0).toRed(red);
180
+ const b = new BigNumber(7).toRed(red);
181
+ const zero = new BigNumber(0).toRed(red);
182
+ if (!BigNumber.isBN(x)) {
183
+ x = new BigNumber(x, 16);
184
+ }
185
+ x = x;
186
+ if (x.red == null) {
187
+ x = x.toRed(red);
188
+ }
189
+ const y2 = x.redSqr().redMul(x).redIAdd(x.redMul(a)).redIAdd(b);
190
+ let y = y2.redSqrt();
191
+ if (y.redSqr().redSub(y2).cmp(zero) !== 0) {
192
+ throw new Error('invalid point');
193
+ }
194
+ // XXX Is there any way to tell if the number is odd without converting it
195
+ // to non-red form?
196
+ const isOdd = y.fromRed().isOdd();
197
+ if ((odd && !isOdd) || (!odd && isOdd)) {
198
+ y = y.redNeg();
199
+ }
200
+ return new Point(x, y);
201
+ }
122
202
  }
123
203
  /**
124
204
  * Generates a point from a serialized JSON object. The function accounts for different options in the JSON object,
@@ -1 +1 @@
1
- {"version":3,"file":"Point.js","sourceRoot":"","sources":["../../../../src/primitives/Point.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Point.js","sourceRoot":"","sources":["../../../../src/primitives/Point.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export default class TransactionSignature extends Signature {
21
21
  const writer = new Writer();
22
22
  for (const input of inputs) {
23
23
  if (typeof input.sourceTXID === 'undefined') {
24
- writer.writeReverse(input.sourceTransaction.id());
24
+ writer.write(input.sourceTransaction.hash());
25
25
  }
26
26
  else {
27
27
  writer.writeReverse(toArray(input.sourceTXID, 'hex'));
@@ -90,8 +90,9 @@ export default class TransactionSignature extends Signature {
90
90
  writer.writeReverse(toArray(params.sourceTXID, 'hex'));
91
91
  writer.writeUInt32LE(params.sourceOutputIndex);
92
92
  // scriptCode of the input (serialized as scripts inside CTxOuts)
93
- writer.writeVarIntNum(params.subscript.toBinary().length);
94
- writer.write(params.subscript.toBinary());
93
+ const subscriptBin = params.subscript.toBinary();
94
+ writer.writeVarIntNum(subscriptBin.length);
95
+ writer.write(subscriptBin);
95
96
  // value of the output spent by this input (8-byte little endian)
96
97
  writer.writeUInt64LE(params.sourceSatoshis);
97
98
  // nSequence of the input (4-byte little endian)
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionSignature.js","sourceRoot":"","sources":["../../../../src/primitives/TransactionSignature.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransactionSignature.js","sourceRoot":"","sources":["../../../../src/primitives/TransactionSignature.ts"],"names":[],"mappings":"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"}
@@ -293,13 +293,12 @@ export class Writer {
293
293
  return len;
294
294
  }
295
295
  toArray() {
296
- let ret = [];
297
- for (const x of this.bufs) {
298
- if (x.length < 65536) {
299
- ret.push(...x);
300
- }
301
- else {
302
- ret = ret.concat(x);
296
+ const totalLength = this.getLength();
297
+ const ret = new Array(totalLength);
298
+ let offset = 0;
299
+ for (const buf of this.bufs) {
300
+ for (let i = 0; i < buf.length; i++) {
301
+ ret[offset++] = buf[i];
303
302
  }
304
303
  }
305
304
  return ret;
@@ -476,17 +475,17 @@ export class Reader {
476
475
  return this.pos >= this.bin.length;
477
476
  }
478
477
  read(len = this.bin.length) {
479
- const bin = this.bin.slice(this.pos, this.pos + len);
480
- this.pos = this.pos + len;
481
- return bin;
478
+ const start = this.pos;
479
+ const end = this.pos + len;
480
+ this.pos = end;
481
+ return this.bin.slice(start, end);
482
482
  }
483
483
  readReverse(len = this.bin.length) {
484
- const bin = this.bin.slice(this.pos, this.pos + len);
485
- this.pos = this.pos + len;
486
- const buf2 = new Array(bin.length);
487
- for (let i = 0; i < buf2.length; i++) {
488
- buf2[i] = bin[bin.length - 1 - i];
484
+ const buf2 = new Array(len);
485
+ for (let i = 0; i < len; i++) {
486
+ buf2[i] = this.bin[this.pos + len - 1 - i];
489
487
  }
488
+ this.pos += len;
490
489
  return buf2;
491
490
  }
492
491
  readUInt8() {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/primitives/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/primitives/utils.ts"],"names":[],"mappings":"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"}
@@ -183,9 +183,9 @@ export default class Spend {
183
183
  return true;
184
184
  };
185
185
  const padDataToSize = (buf, len) => {
186
- let b = buf;
186
+ const b = buf;
187
187
  while (b.length < len) {
188
- b = [0x00, ...b];
188
+ b.unshift(0);
189
189
  }
190
190
  return b;
191
191
  };
@@ -714,7 +714,7 @@ export default class Spend {
714
714
  if (currentOpcode === OP.OP_RSHIFT) {
715
715
  shifted = bn1.ushrn(n);
716
716
  }
717
- const bufShifted = padDataToSize([...shifted.toArray().slice(buf1.length * -1)], buf1.length);
717
+ const bufShifted = padDataToSize(shifted.toArray().slice(buf1.length * -1), buf1.length);
718
718
  this.stack.push(bufShifted);
719
719
  }
720
720
  break;
@@ -930,7 +930,7 @@ export default class Spend {
930
930
  subscript.findAndDelete(new Script().writeBin(bufSig));
931
931
  try {
932
932
  sig = TransactionSignature.fromChecksigFormat(bufSig);
933
- pubkey = PublicKey.fromString(toHex(bufPubkey));
933
+ pubkey = PublicKey.fromDER(bufPubkey);
934
934
  fSuccess = verifySignature(sig, pubkey, subscript);
935
935
  }
936
936
  catch (e) {