Skip to content

Commit 0464673

Browse files
committed
Fix tx version from int32 to uint32
1 parent ebd5ad4 commit 0464673

File tree

4 files changed

+14
-14
lines changed

4 files changed

+14
-14
lines changed

src/cjs/transaction.cjs

+4-4
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ class Transaction {
9999
static fromBuffer(buffer, _NO_STRICT) {
100100
const bufferReader = new bufferutils_js_1.BufferReader(buffer);
101101
const tx = new Transaction();
102-
tx.version = bufferReader.readInt32();
102+
tx.version = bufferReader.readUInt32();
103103
const marker = bufferReader.readUInt8();
104104
const flag = bufferReader.readUInt8();
105105
let hasWitnesses = false;
@@ -414,7 +414,7 @@ class Transaction {
414414
const sigMsgWriter = bufferutils_js_1.BufferWriter.withCapacity(sigMsgSize);
415415
sigMsgWriter.writeUInt8(hashType);
416416
// Transaction
417-
sigMsgWriter.writeInt32(this.version);
417+
sigMsgWriter.writeUInt32(this.version);
418418
sigMsgWriter.writeUInt32(this.locktime);
419419
sigMsgWriter.writeSlice(hashPrevouts);
420420
sigMsgWriter.writeSlice(hashAmounts);
@@ -523,7 +523,7 @@ class Transaction {
523523
tbuffer = new Uint8Array(156 + varSliceSize(prevOutScript));
524524
bufferWriter = new bufferutils_js_1.BufferWriter(tbuffer, 0);
525525
const input = this.ins[inIndex];
526-
bufferWriter.writeInt32(this.version);
526+
bufferWriter.writeUInt32(this.version);
527527
bufferWriter.writeSlice(hashPrevouts);
528528
bufferWriter.writeSlice(hashSequence);
529529
bufferWriter.writeSlice(input.hash);
@@ -570,7 +570,7 @@ class Transaction {
570570
buffer,
571571
initialOffset || 0,
572572
);
573-
bufferWriter.writeInt32(this.version);
573+
bufferWriter.writeUInt32(this.version);
574574
const hasWitnesses = _ALLOW_WITNESS && this.hasWitnesses();
575575
if (hasWitnesses) {
576576
bufferWriter.writeUInt8(Transaction.ADVANCED_TRANSACTION_MARKER);

src/esm/transaction.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export class Transaction {
5757
static fromBuffer(buffer, _NO_STRICT) {
5858
const bufferReader = new BufferReader(buffer);
5959
const tx = new Transaction();
60-
tx.version = bufferReader.readInt32();
60+
tx.version = bufferReader.readUInt32();
6161
const marker = bufferReader.readUInt8();
6262
const flag = bufferReader.readUInt8();
6363
let hasWitnesses = false;
@@ -365,7 +365,7 @@ export class Transaction {
365365
const sigMsgWriter = BufferWriter.withCapacity(sigMsgSize);
366366
sigMsgWriter.writeUInt8(hashType);
367367
// Transaction
368-
sigMsgWriter.writeInt32(this.version);
368+
sigMsgWriter.writeUInt32(this.version);
369369
sigMsgWriter.writeUInt32(this.locktime);
370370
sigMsgWriter.writeSlice(hashPrevouts);
371371
sigMsgWriter.writeSlice(hashAmounts);
@@ -472,7 +472,7 @@ export class Transaction {
472472
tbuffer = new Uint8Array(156 + varSliceSize(prevOutScript));
473473
bufferWriter = new BufferWriter(tbuffer, 0);
474474
const input = this.ins[inIndex];
475-
bufferWriter.writeInt32(this.version);
475+
bufferWriter.writeUInt32(this.version);
476476
bufferWriter.writeSlice(hashPrevouts);
477477
bufferWriter.writeSlice(hashSequence);
478478
bufferWriter.writeSlice(input.hash);
@@ -514,7 +514,7 @@ export class Transaction {
514514
__toBuffer(buffer, initialOffset, _ALLOW_WITNESS = false) {
515515
if (!buffer) buffer = new Uint8Array(this.byteLength(_ALLOW_WITNESS));
516516
const bufferWriter = new BufferWriter(buffer, initialOffset || 0);
517-
bufferWriter.writeInt32(this.version);
517+
bufferWriter.writeUInt32(this.version);
518518
const hasWitnesses = _ALLOW_WITNESS && this.hasWitnesses();
519519
if (hasWitnesses) {
520520
bufferWriter.writeUInt8(Transaction.ADVANCED_TRANSACTION_MARKER);

test/transaction.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,10 @@ describe('Transaction', () => {
7878
});
7979
});
8080

81-
it('.version should be interpreted as an int32le', () => {
81+
it('.version should be interpreted as an uint32le', () => {
8282
const txHex = 'ffffffff0000ffffffff';
8383
const tx = Transaction.fromHex(txHex);
84-
assert.strictEqual(-1, tx.version);
84+
assert.strictEqual(0xffffffff, tx.version);
8585
assert.strictEqual(0xffffffff, tx.locktime);
8686
});
8787
});

ts_src/transaction.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ export class Transaction {
7979
const bufferReader = new BufferReader(buffer);
8080

8181
const tx = new Transaction();
82-
tx.version = bufferReader.readInt32();
82+
tx.version = bufferReader.readUInt32();
8383

8484
const marker = bufferReader.readUInt8();
8585
const flag = bufferReader.readUInt8();
@@ -464,7 +464,7 @@ export class Transaction {
464464

465465
sigMsgWriter.writeUInt8(hashType);
466466
// Transaction
467-
sigMsgWriter.writeInt32(this.version);
467+
sigMsgWriter.writeUInt32(this.version);
468468
sigMsgWriter.writeUInt32(this.locktime);
469469
sigMsgWriter.writeSlice(hashPrevouts);
470470
sigMsgWriter.writeSlice(hashAmounts);
@@ -594,7 +594,7 @@ export class Transaction {
594594
bufferWriter = new BufferWriter(tbuffer, 0);
595595

596596
const input = this.ins[inIndex];
597-
bufferWriter.writeInt32(this.version);
597+
bufferWriter.writeUInt32(this.version);
598598
bufferWriter.writeSlice(hashPrevouts);
599599
bufferWriter.writeSlice(hashSequence);
600600
bufferWriter.writeSlice(input.hash);
@@ -652,7 +652,7 @@ export class Transaction {
652652

653653
const bufferWriter = new BufferWriter(buffer, initialOffset || 0);
654654

655-
bufferWriter.writeInt32(this.version);
655+
bufferWriter.writeUInt32(this.version);
656656

657657
const hasWitnesses = _ALLOW_WITNESS && this.hasWitnesses();
658658

0 commit comments

Comments
 (0)