Socket
Socket
Sign inDemoInstall

varuint-bitcoin

Package Overview
Dependencies
0
Maintainers
4
Versions
7
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.3 to 1.0.4

66

index.js
'use strict'
// Number.MAX_SAFE_INTEGER
var MAX_SAFE_INTEGER = 9007199254740991
function checkUInt53 (n) {
// Number.MAX_SAFE_INTEGER
if (n < 0 || n > 9007199254740991 || n % 1 !== 0) throw new RangeError('value out of range')
if (n < 0 || n > MAX_SAFE_INTEGER || n % 1 !== 0) throw new RangeError('value out of range')
}
function encode (n, buffer, offset) {
checkUInt53(n)
if (!buffer) buffer = new Buffer(encodingLength(n))
function encode (number, buffer, offset) {
checkUInt53(number)
if (!buffer) buffer = new Buffer(encodingLength(number))
if (!Buffer.isBuffer(buffer)) throw new TypeError('buffer must be a Buffer instance')
if (!offset) offset = 0
if (n < 0xfd) {
buffer.writeUInt8(n, offset)
// 8 bit
if (number < 0xfd) {
buffer.writeUInt8(number, offset)
encode.bytes = 1
} else if (n <= 0xffff) {
// 16 bit
} else if (number <= 0xffff) {
buffer.writeUInt8(0xfd, offset)
buffer.writeUInt16LE(n, offset + 1)
buffer.writeUInt16LE(number, offset + 1)
encode.bytes = 3
} else if (n <= 0xffffffff) {
// 32 bit
} else if (number <= 0xffffffff) {
buffer.writeUInt8(0xfe, offset)
buffer.writeUInt32LE(n, offset + 1)
buffer.writeUInt32LE(number, offset + 1)
encode.bytes = 5
// 64 bit
} else {
buffer.writeUInt8(0xff, offset)
buffer.writeUInt32LE(n >>> 0, offset + 1)
buffer.writeUInt32LE((n / 0x100000000) | 0, offset + 5)
buffer.writeUInt32LE(number >>> 0, offset + 1)
buffer.writeUInt32LE((number / 0x100000000) | 0, offset + 5)
encode.bytes = 9
}
return buffer

@@ -35,12 +48,21 @@ }

if (!offset) offset = 0
var first = buffer.readUInt8(offset)
// 8 bit
if (first < 0xfd) {
decode.bytes = 1
return first
// 16 bit
} else if (first === 0xfd) {
decode.bytes = 3
return buffer.readUInt16LE(offset + 1)
// 32 bit
} else if (first === 0xfe) {
decode.bytes = 5
return buffer.readUInt32LE(offset + 1)
// 64 bit
} else {

@@ -50,14 +72,16 @@ decode.bytes = 9

var hi = buffer.readUInt32LE(offset + 5)
var n = hi * 0x0100000000 + lo
checkUInt53(n)
return n
var number = hi * 0x0100000000 + lo
checkUInt53(number)
return number
}
}
function encodingLength (n) {
checkUInt53(n)
function encodingLength (number) {
checkUInt53(number)
return (
n < 0xfd ? 1
: n <= 0xffff ? 3
: n <= 0xffffffff ? 5
number < 0xfd ? 1
: number <= 0xffff ? 3
: number <= 0xffffffff ? 5
: 9

@@ -64,0 +88,0 @@ )

{
"name": "varuint-bitcoin",
"version": "1.0.3",
"version": "1.0.4",
"description": "encode/decode number as bitcoin variable length integer",

@@ -5,0 +5,0 @@ "homepage": "https://github.com/bitcoinjs/varuint-bitcoin",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc