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));
|
||||
bufferWriter = new bufferutils_1.BufferWriter(tbuffer, 0);
|
||||
const input = this.ins[inIndex];
|
||||
bufferWriter.writeUInt32(this.version);
|
||||
bufferWriter.writeInt32(this.version);
|
||||
bufferWriter.writeSlice(hashPrevouts);
|
||||
bufferWriter.writeSlice(hashSequence);
|
||||
bufferWriter.writeSlice(input.hash);
|
||||
|
|
|
@ -214,6 +214,16 @@ describe('Bitcoin-core', () => {
|
|||
(hash.reverse() as Buffer).toString('hex'),
|
||||
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);
|
||||
|
||||
const input = this.ins[inIndex];
|
||||
bufferWriter.writeUInt32(this.version);
|
||||
bufferWriter.writeInt32(this.version);
|
||||
bufferWriter.writeSlice(hashPrevouts);
|
||||
bufferWriter.writeSlice(hashSequence);
|
||||
bufferWriter.writeSlice(input.hash);
|
||||
|
|
Loading…
Reference in a new issue