diff --git a/src/helpers.ts b/src/helpers.ts index 196d690..94fef7b 100644 --- a/src/helpers.ts +++ b/src/helpers.ts @@ -127,38 +127,20 @@ export function readBufferFromBigInt( } const hex = bigIntVar.toString(16).padStart(bytesNumber * 2, "0"); - let littleBuffer = Buffer.from(hex, "hex"); - - if (little) { - littleBuffer = littleBuffer.reverse(); - } + let buffer = Buffer.from(hex, "hex"); if (signed && below) { - if (little) { - let reminder = false; - if (littleBuffer[0] !== 0) { - littleBuffer[0] -= 1; - } - for (let i = 0; i < littleBuffer.length; i++) { - if (littleBuffer[i] === 0) { - reminder = true; - continue; - } - if (reminder) { - littleBuffer[i] -= 1; - reminder = false; - } - littleBuffer[i] = 255 - littleBuffer[i]; - } - } else { - littleBuffer[littleBuffer.length - 1] = 256 - - littleBuffer[littleBuffer.length - 1]; - for (let i = 0; i < littleBuffer.length - 1; i++) { - littleBuffer[i] = 255 - littleBuffer[i]; - } + buffer[buffer.length - 1] = 256 - + buffer[buffer.length - 1]; + for (let i = 0; i < buffer.length - 1; i++) { + buffer[i] = 255 - buffer[i]; } } - return littleBuffer; + + if (little) { + buffer = buffer.reverse(); + } + return buffer; } export function generateRandomLong(signed = true) {