Skip to content
This repository has been archived by the owner on Oct 31, 2024. It is now read-only.

Latest commit

 

History

History
115 lines (68 loc) · 3.39 KB

README.md

File metadata and controls

115 lines (68 loc) · 3.39 KB

SYNOPSIS

Warning

This package has been deprecated and is not maintained.


NPM Package Build Status Coverage Status

js-standard-style

a bn.js factory wrapper that constrains numbers to a fixed width

USAGE

const FixedBN = require('fixed-bn.js')

// there are some built in sizes `U64`, `U128`, `U160`, `U256`
const bnNum = new FixedBN.U64('0x5555555')
// use normal bn.js methods
bnNum.iaddn(55)

// toBuffer and toArray allways produces a fixed length result
bnNum.toBuffer()
// <Buffer 00 00 00 00 05 55 55 55>

// you can also create an arbitary fixed lenght bn
// max bit lenght is 199 bits and min length is 2 bits
const I199 = FixedBN(199, 2)
const newBnNum = new I199(390248)

API

Since this module extends BN.js it has the methods as it does plus a few extras.

factory

./index.js:11-87

A factory that produces BN.js constructors for a given width

Parameters

  • maxWidth Integer the max length in bits that the bn.js instance can handle
  • minWidth Integer the min length in bits that the bn.js instance can handle

Returns bn.js returns a bn.js constuctor that that is constained to maxWidth and minWidth

builtin length

the factory has the following builtins

  • FixedBN.U64
  • FixedBN.U128
  • FixedBN.U160
  • FixedBN.U256

bn.js instance

Each instance has the following additional methods

maxWidth

./index.js:35-37

retuns Max Width

Returns integer

minWidth

./index.js:43-45

retuns Min Width

Returns integer

fromBuffer

./index.js:66-68

converts a buffer to a fixed-bn.js

Parameters

  • value (string | integer)
  • endain string
  • endian (optional, default 'be')

isFixBN

./index.js:74-76

checks if a BN instance is a fixed BN instance

Parameters

  • bn bn.js

isSameWidth

./index.js:82-84

checks if a fixed-bn instance is the same width as the contructor

Parameters

  • fixBN bn.js

LICENSE

MPL-2.0