@bsv/sdk 1.8.13 → 1.9.1
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/Peer.js +35 -16
- package/dist/cjs/src/auth/Peer.js.map +1 -1
- package/dist/cjs/src/kvstore/LocalKVStore.js +7 -7
- package/dist/cjs/src/kvstore/LocalKVStore.js.map +1 -1
- package/dist/cjs/src/primitives/BigNumber.js +43 -31
- package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
- package/dist/cjs/src/primitives/Hash.js +11 -5
- package/dist/cjs/src/primitives/Hash.js.map +1 -1
- package/dist/cjs/src/primitives/SymmetricKey.js +15 -6
- package/dist/cjs/src/primitives/SymmetricKey.js.map +1 -1
- package/dist/cjs/src/primitives/TransactionSignature.js +60 -18
- package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/cjs/src/primitives/utils.js +74 -28
- package/dist/cjs/src/primitives/utils.js.map +1 -1
- package/dist/cjs/src/script/Script.js +217 -108
- package/dist/cjs/src/script/Script.js.map +1 -1
- package/dist/cjs/src/script/Spend.js +5 -2
- package/dist/cjs/src/script/Spend.js.map +1 -1
- package/dist/cjs/src/transaction/Beef.js +62 -7
- package/dist/cjs/src/transaction/Beef.js.map +1 -1
- package/dist/cjs/src/transaction/BeefTx.js +1 -1
- package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
- package/dist/cjs/src/transaction/Transaction.js +67 -35
- package/dist/cjs/src/transaction/Transaction.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/auth/Peer.js +36 -16
- package/dist/esm/src/auth/Peer.js.map +1 -1
- package/dist/esm/src/kvstore/LocalKVStore.js +7 -7
- package/dist/esm/src/kvstore/LocalKVStore.js.map +1 -1
- package/dist/esm/src/primitives/BigNumber.js +43 -31
- package/dist/esm/src/primitives/BigNumber.js.map +1 -1
- package/dist/esm/src/primitives/Hash.js +11 -5
- package/dist/esm/src/primitives/Hash.js.map +1 -1
- package/dist/esm/src/primitives/SymmetricKey.js +15 -6
- package/dist/esm/src/primitives/SymmetricKey.js.map +1 -1
- package/dist/esm/src/primitives/TransactionSignature.js +60 -18
- package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/esm/src/primitives/utils.js +74 -28
- package/dist/esm/src/primitives/utils.js.map +1 -1
- package/dist/esm/src/script/Script.js +222 -110
- package/dist/esm/src/script/Script.js.map +1 -1
- package/dist/esm/src/script/Spend.js +6 -2
- package/dist/esm/src/script/Spend.js.map +1 -1
- package/dist/esm/src/transaction/Beef.js +64 -7
- package/dist/esm/src/transaction/Beef.js.map +1 -1
- package/dist/esm/src/transaction/BeefTx.js +1 -1
- package/dist/esm/src/transaction/BeefTx.js.map +1 -1
- package/dist/esm/src/transaction/Transaction.js +69 -35
- package/dist/esm/src/transaction/Transaction.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/src/auth/Peer.d.ts +4 -0
- package/dist/types/src/auth/Peer.d.ts.map +1 -1
- package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
- package/dist/types/src/primitives/Hash.d.ts +10 -10
- package/dist/types/src/primitives/Hash.d.ts.map +1 -1
- package/dist/types/src/primitives/SymmetricKey.d.ts.map +1 -1
- package/dist/types/src/primitives/TransactionSignature.d.ts +34 -13
- package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
- package/dist/types/src/primitives/utils.d.ts +6 -8
- package/dist/types/src/primitives/utils.d.ts.map +1 -1
- package/dist/types/src/script/Script.d.ts +18 -9
- package/dist/types/src/script/Script.d.ts.map +1 -1
- package/dist/types/src/script/Spend.d.ts +1 -0
- package/dist/types/src/script/Spend.d.ts.map +1 -1
- package/dist/types/src/transaction/Beef.d.ts +9 -0
- package/dist/types/src/transaction/Beef.d.ts.map +1 -1
- package/dist/types/src/transaction/Transaction.d.ts +7 -0
- package/dist/types/src/transaction/Transaction.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/docs/reference/primitives.md +87 -37
- package/docs/reference/script.md +11 -7
- package/docs/reference/transaction.md +2 -0
- package/package.json +1 -1
- package/src/auth/Peer.ts +44 -18
- package/src/kvstore/LocalKVStore.ts +7 -7
- package/src/kvstore/__tests/LocalKVStore.test.ts +17 -17
- package/src/primitives/BigNumber.ts +44 -23
- package/src/primitives/Hash.ts +41 -17
- package/src/primitives/SymmetricKey.ts +15 -6
- package/src/primitives/TransactionSignature.ts +77 -31
- package/src/primitives/utils.ts +80 -30
- package/src/script/Script.ts +238 -104
- package/src/script/Spend.ts +7 -3
- package/src/transaction/Beef.ts +74 -7
- package/src/transaction/BeefTx.ts +1 -1
- package/src/transaction/Transaction.ts +77 -34
|
@@ -30,8 +30,24 @@ const Signature_js_1 = __importDefault(require("./Signature.js"));
|
|
|
30
30
|
const BigNumber_js_1 = __importDefault(require("./BigNumber.js"));
|
|
31
31
|
const Hash = __importStar(require("./Hash.js"));
|
|
32
32
|
const utils_js_1 = require("./utils.js");
|
|
33
|
+
const EMPTY_SCRIPT = new Uint8Array(0);
|
|
33
34
|
class TransactionSignature extends Signature_js_1.default {
|
|
35
|
+
/**
|
|
36
|
+
* Formats the SIGHASH preimage for the targeted input, optionally using a cache to skip recomputing shared hash prefixes.
|
|
37
|
+
* @param params - Context for the signing input plus transaction metadata.
|
|
38
|
+
* @param params.cache - Optional cache storing previously computed `hashPrevouts`, `hashSequence`, or `hashOutputs*` values; it will be populated if present.
|
|
39
|
+
*/
|
|
34
40
|
static format(params) {
|
|
41
|
+
return Array.from(this.formatBytes(params));
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Formats the same SIGHASH preimage bytes as `format`, supporting the optional cache for hash reuse.
|
|
45
|
+
* @param params - Context for the signing operation.
|
|
46
|
+
* @param params.cache - Optional `SignatureHashCache` that may already contain hashed prefixes and is populated during formatting.
|
|
47
|
+
* @returns Bytes for signing.
|
|
48
|
+
*/
|
|
49
|
+
static formatBytes(params) {
|
|
50
|
+
const cache = params.cache;
|
|
35
51
|
const currentInput = {
|
|
36
52
|
sourceTXID: params.sourceTXID,
|
|
37
53
|
sourceOutputIndex: params.sourceOutputIndex,
|
|
@@ -53,9 +69,7 @@ class TransactionSignature extends Signature_js_1.default {
|
|
|
53
69
|
}
|
|
54
70
|
writer.writeUInt32LE(input.sourceOutputIndex);
|
|
55
71
|
}
|
|
56
|
-
|
|
57
|
-
const ret = Hash.hash256(buf);
|
|
58
|
-
return ret;
|
|
72
|
+
return Hash.hash256(writer.toUint8Array());
|
|
59
73
|
};
|
|
60
74
|
const getSequenceHash = () => {
|
|
61
75
|
const writer = new utils_js_1.Writer();
|
|
@@ -63,9 +77,7 @@ class TransactionSignature extends Signature_js_1.default {
|
|
|
63
77
|
const sequence = input.sequence ?? 0xffffffff; // Default to max sequence number
|
|
64
78
|
writer.writeUInt32LE(sequence);
|
|
65
79
|
}
|
|
66
|
-
|
|
67
|
-
const ret = Hash.hash256(buf);
|
|
68
|
-
return ret;
|
|
80
|
+
return Hash.hash256(writer.toUint8Array());
|
|
69
81
|
};
|
|
70
82
|
function getOutputsHash(outputIndex) {
|
|
71
83
|
const writer = new utils_js_1.Writer();
|
|
@@ -73,7 +85,7 @@ class TransactionSignature extends Signature_js_1.default {
|
|
|
73
85
|
for (const output of params.outputs) {
|
|
74
86
|
const satoshis = output.satoshis ?? 0; // Default to 0 if undefined
|
|
75
87
|
writer.writeUInt64LE(satoshis);
|
|
76
|
-
const script = output.lockingScript?.
|
|
88
|
+
const script = output.lockingScript?.toUint8Array() ?? EMPTY_SCRIPT;
|
|
77
89
|
writer.writeVarIntNum(script.length);
|
|
78
90
|
writer.write(script);
|
|
79
91
|
}
|
|
@@ -85,32 +97,63 @@ class TransactionSignature extends Signature_js_1.default {
|
|
|
85
97
|
}
|
|
86
98
|
const satoshis = output.satoshis ?? 0; // Default to 0 if undefined
|
|
87
99
|
writer.writeUInt64LE(satoshis);
|
|
88
|
-
const script = output.lockingScript?.
|
|
100
|
+
const script = output.lockingScript?.toUint8Array() ?? EMPTY_SCRIPT;
|
|
89
101
|
writer.writeVarIntNum(script.length);
|
|
90
102
|
writer.write(script);
|
|
91
103
|
}
|
|
92
|
-
|
|
93
|
-
const ret = Hash.hash256(buf);
|
|
94
|
-
return ret;
|
|
104
|
+
return Hash.hash256(writer.toUint8Array());
|
|
95
105
|
}
|
|
96
106
|
let hashPrevouts = new Array(32).fill(0);
|
|
97
107
|
let hashSequence = new Array(32).fill(0);
|
|
98
108
|
let hashOutputs = new Array(32).fill(0);
|
|
99
109
|
if ((params.scope & TransactionSignature.SIGHASH_ANYONECANPAY) === 0) {
|
|
100
|
-
hashPrevouts
|
|
110
|
+
if (cache?.hashPrevouts != null) {
|
|
111
|
+
hashPrevouts = cache.hashPrevouts;
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
hashPrevouts = getPrevoutHash();
|
|
115
|
+
if (cache != null)
|
|
116
|
+
cache.hashPrevouts = hashPrevouts;
|
|
117
|
+
}
|
|
101
118
|
}
|
|
102
119
|
if ((params.scope & TransactionSignature.SIGHASH_ANYONECANPAY) === 0 &&
|
|
103
120
|
(params.scope & 31) !== TransactionSignature.SIGHASH_SINGLE &&
|
|
104
121
|
(params.scope & 31) !== TransactionSignature.SIGHASH_NONE) {
|
|
105
|
-
hashSequence
|
|
122
|
+
if (cache?.hashSequence != null) {
|
|
123
|
+
hashSequence = cache.hashSequence;
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
hashSequence = getSequenceHash();
|
|
127
|
+
if (cache != null)
|
|
128
|
+
cache.hashSequence = hashSequence;
|
|
129
|
+
}
|
|
106
130
|
}
|
|
107
131
|
if ((params.scope & 31) !== TransactionSignature.SIGHASH_SINGLE &&
|
|
108
132
|
(params.scope & 31) !== TransactionSignature.SIGHASH_NONE) {
|
|
109
|
-
|
|
133
|
+
if (cache?.hashOutputsAll != null) {
|
|
134
|
+
hashOutputs = cache.hashOutputsAll;
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
hashOutputs = getOutputsHash();
|
|
138
|
+
if (cache != null)
|
|
139
|
+
cache.hashOutputsAll = hashOutputs;
|
|
140
|
+
}
|
|
110
141
|
}
|
|
111
142
|
else if ((params.scope & 31) === TransactionSignature.SIGHASH_SINGLE &&
|
|
112
143
|
params.inputIndex < params.outputs.length) {
|
|
113
|
-
|
|
144
|
+
const key = params.inputIndex;
|
|
145
|
+
const cachedSingle = cache?.hashOutputsSingle?.get(key);
|
|
146
|
+
if (cachedSingle != null) {
|
|
147
|
+
hashOutputs = cachedSingle;
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
hashOutputs = getOutputsHash(key);
|
|
151
|
+
if (cache != null) {
|
|
152
|
+
if (cache.hashOutputsSingle == null)
|
|
153
|
+
cache.hashOutputsSingle = new Map();
|
|
154
|
+
cache.hashOutputsSingle.set(key, hashOutputs);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
114
157
|
}
|
|
115
158
|
const writer = new utils_js_1.Writer();
|
|
116
159
|
// Version
|
|
@@ -122,7 +165,7 @@ class TransactionSignature extends Signature_js_1.default {
|
|
|
122
165
|
writer.writeReverse((0, utils_js_1.toArray)(params.sourceTXID, 'hex'));
|
|
123
166
|
writer.writeUInt32LE(params.sourceOutputIndex);
|
|
124
167
|
// scriptCode of the input (serialized as scripts inside CTxOuts)
|
|
125
|
-
const subscriptBin = params.subscript.
|
|
168
|
+
const subscriptBin = params.subscript.toUint8Array();
|
|
126
169
|
writer.writeVarIntNum(subscriptBin.length);
|
|
127
170
|
writer.write(subscriptBin);
|
|
128
171
|
// value of the output spent by this input (8-byte little endian)
|
|
@@ -136,8 +179,7 @@ class TransactionSignature extends Signature_js_1.default {
|
|
|
136
179
|
writer.writeUInt32LE(params.lockTime);
|
|
137
180
|
// sighashType
|
|
138
181
|
writer.writeUInt32LE(params.scope >>> 0);
|
|
139
|
-
|
|
140
|
-
return buf;
|
|
182
|
+
return writer.toUint8Array();
|
|
141
183
|
}
|
|
142
184
|
// The format used in a tx
|
|
143
185
|
static fromChecksigFormat(buf) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionSignature.js","sourceRoot":"","sources":["../../../../src/primitives/TransactionSignature.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kEAAsC;AACtC,kEAAsC;AACtC,gDAAiC;AACjC,yCAA4C;
|
|
1
|
+
{"version":3,"file":"TransactionSignature.js","sourceRoot":"","sources":["../../../../src/primitives/TransactionSignature.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.verifyNotNull = exports.minimallyEncode = exports.Reader = exports.Writer = exports.fromBase58Check = exports.toBase58Check = exports.toBase58 = exports.fromBase58 = exports.toBase64 = exports.encode = exports.toUTF8 = exports.toArray = exports.toHex = exports.zero2 = void 0;
|
|
7
7
|
const BigNumber_js_1 = __importDefault(require("./BigNumber.js"));
|
|
8
8
|
const Hash_js_1 = require("./Hash.js");
|
|
9
|
+
const BufferCtor = typeof globalThis !== 'undefined' ? globalThis.Buffer : undefined;
|
|
10
|
+
const CAN_USE_BUFFER = BufferCtor != null && typeof BufferCtor.from === 'function';
|
|
11
|
+
const PURE_HEX_REGEX = /^[0-9a-fA-F]+$/;
|
|
9
12
|
/**
|
|
10
13
|
* Prepends a '0' to an odd character length word to ensure it has an even number of characters.
|
|
11
14
|
* @param {string} word - The input word.
|
|
@@ -25,12 +28,23 @@ exports.zero2 = zero2;
|
|
|
25
28
|
* @param {number[]} msg - The input array of numbers.
|
|
26
29
|
* @returns {string} - The hexadecimal string representation of the input array.
|
|
27
30
|
*/
|
|
31
|
+
const HEX_DIGITS = '0123456789abcdef';
|
|
32
|
+
const HEX_BYTE_STRINGS = new Array(256);
|
|
33
|
+
for (let i = 0; i < 256; i++) {
|
|
34
|
+
HEX_BYTE_STRINGS[i] =
|
|
35
|
+
HEX_DIGITS[(i >> 4) & 0xf] + HEX_DIGITS[i & 0xf];
|
|
36
|
+
}
|
|
28
37
|
const toHex = (msg) => {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
res += (0, exports.zero2)(num.toString(16));
|
|
38
|
+
if (CAN_USE_BUFFER) {
|
|
39
|
+
return BufferCtor.from(msg).toString('hex');
|
|
32
40
|
}
|
|
33
|
-
|
|
41
|
+
if (msg.length === 0)
|
|
42
|
+
return '';
|
|
43
|
+
const out = new Array(msg.length);
|
|
44
|
+
for (let i = 0; i < msg.length; i++) {
|
|
45
|
+
out[i] = HEX_BYTE_STRINGS[msg[i] & 0xff];
|
|
46
|
+
}
|
|
47
|
+
return out.join('');
|
|
34
48
|
};
|
|
35
49
|
exports.toHex = toHex;
|
|
36
50
|
/**
|
|
@@ -59,14 +73,39 @@ const toArray = (msg, enc) => {
|
|
|
59
73
|
}
|
|
60
74
|
};
|
|
61
75
|
exports.toArray = toArray;
|
|
76
|
+
const HEX_CHAR_TO_VALUE = new Int8Array(256).fill(-1);
|
|
77
|
+
for (let i = 0; i < 10; i++) {
|
|
78
|
+
HEX_CHAR_TO_VALUE[48 + i] = i; // '0'-'9'
|
|
79
|
+
}
|
|
80
|
+
for (let i = 0; i < 6; i++) {
|
|
81
|
+
HEX_CHAR_TO_VALUE[65 + i] = 10 + i; // 'A'-'F'
|
|
82
|
+
HEX_CHAR_TO_VALUE[97 + i] = 10 + i; // 'a'-'f'
|
|
83
|
+
}
|
|
62
84
|
const hexToArray = (msg) => {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
85
|
+
if (CAN_USE_BUFFER && PURE_HEX_REGEX.test(msg)) {
|
|
86
|
+
const normalized = msg.length % 2 === 0 ? msg : '0' + msg;
|
|
87
|
+
return Array.from(BufferCtor.from(normalized, 'hex'));
|
|
88
|
+
}
|
|
89
|
+
const res = new Array(Math.ceil(msg.length / 2));
|
|
90
|
+
let nibble = -1;
|
|
91
|
+
let size = 0;
|
|
92
|
+
for (let i = 0; i < msg.length; i++) {
|
|
93
|
+
const value = HEX_CHAR_TO_VALUE[msg.charCodeAt(i)];
|
|
94
|
+
if (value === -1)
|
|
95
|
+
continue;
|
|
96
|
+
if (nibble === -1) {
|
|
97
|
+
nibble = value;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
res[size++] = (nibble << 4) | value;
|
|
101
|
+
nibble = -1;
|
|
102
|
+
}
|
|
69
103
|
}
|
|
104
|
+
if (nibble !== -1) {
|
|
105
|
+
res[size++] = nibble;
|
|
106
|
+
}
|
|
107
|
+
if (size !== res.length)
|
|
108
|
+
res.length = size;
|
|
70
109
|
return res;
|
|
71
110
|
};
|
|
72
111
|
const base64ToArray = (msg) => {
|
|
@@ -347,13 +386,30 @@ class Writer {
|
|
|
347
386
|
getLength() {
|
|
348
387
|
return this.length;
|
|
349
388
|
}
|
|
389
|
+
toUint8Array() {
|
|
390
|
+
const out = new Uint8Array(this.length);
|
|
391
|
+
let offset = 0;
|
|
392
|
+
for (const buf of this.bufs) {
|
|
393
|
+
out.set(buf, offset);
|
|
394
|
+
offset += buf.length;
|
|
395
|
+
}
|
|
396
|
+
return out;
|
|
397
|
+
}
|
|
350
398
|
toArray() {
|
|
351
399
|
const totalLength = this.length;
|
|
352
400
|
const ret = new Array(totalLength);
|
|
353
401
|
let offset = 0;
|
|
354
402
|
for (const buf of this.bufs) {
|
|
355
|
-
|
|
356
|
-
|
|
403
|
+
if (buf instanceof Uint8Array) {
|
|
404
|
+
for (let i = 0; i < buf.length; i++) {
|
|
405
|
+
ret[offset++] = buf[i];
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
else {
|
|
409
|
+
const arr = buf;
|
|
410
|
+
for (let i = 0; i < arr.length; i++) {
|
|
411
|
+
ret[offset++] = arr[i];
|
|
412
|
+
}
|
|
357
413
|
}
|
|
358
414
|
}
|
|
359
415
|
return ret;
|
|
@@ -368,13 +424,11 @@ class Writer {
|
|
|
368
424
|
for (let i = 0; i < buf2.length; i++) {
|
|
369
425
|
buf2[i] = buf[buf.length - 1 - i];
|
|
370
426
|
}
|
|
371
|
-
this.
|
|
372
|
-
this.length += buf2.length;
|
|
373
|
-
return this;
|
|
427
|
+
return this.write(buf2);
|
|
374
428
|
}
|
|
375
429
|
writeUInt8(n) {
|
|
376
430
|
const buf = new Array(1);
|
|
377
|
-
buf[0] = n;
|
|
431
|
+
buf[0] = n & 0xff;
|
|
378
432
|
this.write(buf);
|
|
379
433
|
return this;
|
|
380
434
|
}
|
|
@@ -389,9 +443,7 @@ class Writer {
|
|
|
389
443
|
(n >> 8) & 0xff,
|
|
390
444
|
n & 0xff // low byte is just the last 8 bits
|
|
391
445
|
];
|
|
392
|
-
this.
|
|
393
|
-
this.length += 2;
|
|
394
|
-
return this;
|
|
446
|
+
return this.write(buf);
|
|
395
447
|
}
|
|
396
448
|
writeInt16BE(n) {
|
|
397
449
|
return this.writeUInt16BE(n & 0xffff); // Mask with 0xFFFF to get the lower 16 bits
|
|
@@ -401,9 +453,7 @@ class Writer {
|
|
|
401
453
|
n & 0xff,
|
|
402
454
|
(n >> 8) & 0xff // shift right 8 bits to get the high byte
|
|
403
455
|
];
|
|
404
|
-
this.
|
|
405
|
-
this.length += 2;
|
|
406
|
-
return this;
|
|
456
|
+
return this.write(buf);
|
|
407
457
|
}
|
|
408
458
|
writeInt16LE(n) {
|
|
409
459
|
return this.writeUInt16LE(n & 0xffff); // Mask with 0xFFFF to get the lower 16 bits
|
|
@@ -415,9 +465,7 @@ class Writer {
|
|
|
415
465
|
(n >> 8) & 0xff,
|
|
416
466
|
n & 0xff // lowest byte
|
|
417
467
|
];
|
|
418
|
-
this.
|
|
419
|
-
this.length += 4;
|
|
420
|
-
return this;
|
|
468
|
+
return this.write(buf);
|
|
421
469
|
}
|
|
422
470
|
writeInt32BE(n) {
|
|
423
471
|
return this.writeUInt32BE(n >>> 0); // Using unsigned right shift to handle negative numbers
|
|
@@ -429,9 +477,7 @@ class Writer {
|
|
|
429
477
|
(n >> 16) & 0xff,
|
|
430
478
|
(n >> 24) & 0xff // highest byte
|
|
431
479
|
];
|
|
432
|
-
this.
|
|
433
|
-
this.length += 4;
|
|
434
|
-
return this;
|
|
480
|
+
return this.write(buf);
|
|
435
481
|
}
|
|
436
482
|
writeInt32LE(n) {
|
|
437
483
|
return this.writeUInt32LE(n >>> 0); // Using unsigned right shift to handle negative numbers
|
|
@@ -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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"}
|