fixed-bn.js

0.0.2 • Public • Published

SYNOPSIS

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
cont I199 = FixedBN(199, 2) 
const newBnNum = new I99(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

Readme

Keywords

Package Sidebar

Install

npm i fixed-bn.js

Weekly Downloads

1

Version

0.0.2

License

MPL-2.0

Last publish

Collaborators

  • null_radix
  • axic