fix(transaction): use writeInt32 to write version
We are reading `version` as `int32` so we should write it as that as well.
This commit is contained in:
parent
27a840aac4
commit
6b71eb0c65
3 changed files with 12 additions and 2 deletions
|
@ -316,7 +316,7 @@ class Transaction {
|
||||||
tbuffer = Buffer.allocUnsafe(156 + varSliceSize(prevOutScript));
|
tbuffer = Buffer.allocUnsafe(156 + varSliceSize(prevOutScript));
|
||||||
bufferWriter = new bufferutils_1.BufferWriter(tbuffer, 0);
|
bufferWriter = new bufferutils_1.BufferWriter(tbuffer, 0);
|
||||||
const input = this.ins[inIndex];
|
const input = this.ins[inIndex];
|
||||||
bufferWriter.writeUInt32(this.version);
|
bufferWriter.writeInt32(this.version);
|
||||||
bufferWriter.writeSlice(hashPrevouts);
|
bufferWriter.writeSlice(hashPrevouts);
|
||||||
bufferWriter.writeSlice(hashSequence);
|
bufferWriter.writeSlice(hashSequence);
|
||||||
bufferWriter.writeSlice(input.hash);
|
bufferWriter.writeSlice(input.hash);
|
||||||
|
|
|
@ -214,6 +214,16 @@ describe('Bitcoin-core', () => {
|
||||||
(hash.reverse() as Buffer).toString('hex'),
|
(hash.reverse() as Buffer).toString('hex'),
|
||||||
expectedHash,
|
expectedHash,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
assert.doesNotThrow(() =>
|
||||||
|
transaction.hashForWitnessV0(
|
||||||
|
inIndex,
|
||||||
|
script,
|
||||||
|
0,
|
||||||
|
// convert to UInt32
|
||||||
|
hashType < 0 ? 0x100000000 + hashType : hashType,
|
||||||
|
),
|
||||||
|
);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
|
@ -416,7 +416,7 @@ export class Transaction {
|
||||||
bufferWriter = new BufferWriter(tbuffer, 0);
|
bufferWriter = new BufferWriter(tbuffer, 0);
|
||||||
|
|
||||||
const input = this.ins[inIndex];
|
const input = this.ins[inIndex];
|
||||||
bufferWriter.writeUInt32(this.version);
|
bufferWriter.writeInt32(this.version);
|
||||||
bufferWriter.writeSlice(hashPrevouts);
|
bufferWriter.writeSlice(hashPrevouts);
|
||||||
bufferWriter.writeSlice(hashSequence);
|
bufferWriter.writeSlice(hashSequence);
|
||||||
bufferWriter.writeSlice(input.hash);
|
bufferWriter.writeSlice(input.hash);
|
||||||
|
|
Loading…
Reference in a new issue