Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
@node-lightning/bufio
Advanced tools
Usage:
npm install @node-lightning/bufio
const { BufferReader, BufferWriter } = require("@node-lightning/bufio");
// write arbitrary length data
const writer = new BufferWriter();
writer.writeUInt8(1);
writer.writeUInt16BE(2);
writer.writeUInt32BE(3);
writer.writeBytes(Buffer.from([4]));
let buffer = writer.toBuffer();
// read values
const reader = new BufferReader(buffer);
console.log(buffer.readUInt8());
console.log(buffer.readUInt16BE());
console.log(buffer.readUInt32BE());
console.log(buffer.readBytes());
This class wraps an existing Buffer and allows reading data from the Buffer. This class includes
position: number
- the current buffer cursor position
eof: bool
- whether the current position is at the end of the buffer
buffer: Buffer
- the underlying buffer
lastReadBytes
- number of bytes last read from the buffer
readUInt8(): number
- reads 1 byte
readUInt16LE(): number
- reads 2 bytes as 16-bit little-endian unsigned integer
readUInt16BE(): number
- reads 2 bytes as 16-bit big-endian unsigned integer
readUInt32LE(): number
- reads 4 bytes as 32-bit little-endian unsigned integer
readUInt32BE(): number
- reads 4 bytes as 32-bit big-endian unsigned integer
readUInt64LE(): bigint
- reads 8 bytes as 64-bit little-endian unsigned integer
readUInt64BE(): bigint
- reads 8 bytes as 64-bit big-endian unsigned integer
readVarUint(): bigint
- reads a variable length integer as defined in the Bitcoin protocol docs
readBigSize(): bigint
- reads a variable length integer as defined in the Lightning Network
readBytes([len]): Buffer
- reads the optionally specified number of bytes. If no length is supplied, it reads to the end of the buffer.
This class can accept an existing Buffer and write to. When used in this mode the Buffer length is fixed and writes that overflow the Buffer will throw an execption.
This class can intenrally manage a Buffer and will automatically expand to fit
the data footprint required. At the end of writing, .toBuffer
must be called
to obtain the underlying Buffer.
writeUInt8(number): undefined
- writes 1 bytewriteUInt16LE(number): undefined
- writes a number as a 16-bit little-endian unsigned integerwriteUInt16BE(number): undefined
- writes a number as a 16-bit big-endian unsigned integerwriteUInt32LE(number): undefined
- writes a number as a 32-bit little-endian unsigned integerwriteUInt32BE(number): undefined
- writes a number as a 32-bit big-endian unsigned integerwriteUInt64LE(number): undefined
- writes a number as a 64-bit little-endian unsigned integerwriteUInt64BE(number): undefined
- writes a number as a 64-bit big-endian unsigned integerwriteBytes(buffer): undefined
- writes the supplied buffer to the cursor bufferFAQs
Buffer IO utilities
The npm package @node-lightning/bufio receives a total of 72 weekly downloads. As such, @node-lightning/bufio popularity was classified as not popular.
We found that @node-lightning/bufio demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.