UNPKG

@crtxio/abi

Version:

A tiny Solidity ABI encoder and decoder

22 lines (18 loc) 575 B
import { toBuffer } from './buffer'; export const fromTwosComplement = buffer => { const bufferValue = toBuffer(buffer); let value = 0n; for (const byte of bufferValue) { value = (value << 8n) + BigInt(byte); } return BigInt.asIntN(bufferValue.length * 8, value); }; export const toTwosComplement = (value, length) => { const buffer = new Uint8Array(length); for (let i = 0; i < buffer.length; i++) { buffer[i] = Number(BigInt.asUintN(8, value)); value = value >> 8n; } return buffer.reverse(); }; //# sourceMappingURL=twos-complement.js.map