<!-- Generated by documentation.js. Update this documentation by updating the source code. -->

### Table of Contents

-   [addHexPrefix](#addhexprefix)
-   [baToJSON](#batojson)
-   [BN](#bn)
-   [bufferToHex](#buffertohex)
-   [bufferToInt](#buffertoint)
-   [defineProperties](#defineproperties)
-   [ecrecover](#ecrecover)
-   [ecsign](#ecsign)
-   [fromRpcSig](#fromrpcsig)
-   [fromSigned](#fromsigned)
-   [generateAddress](#generateaddress)
-   [hashPersonalMessage](#hashpersonalmessage)
-   [importPublic](#importpublic)
-   [isPrecompiled](#isprecompiled)
-   [isValidAddress](#isvalidaddress)
-   [isValidChecksumAddress](#isvalidchecksumaddress)
-   [isValidPrivate](#isvalidprivate)
-   [isValidPublic](#isvalidpublic)
-   [keccak](#keccak)
-   [privateToAddress](#privatetoaddress)
-   [pubToAddress](#pubtoaddress)
-   [ripemd160](#ripemd160)
-   [rlp](#rlp)
-   [rlphash](#rlphash)
-   [secp256k1](#secp256k1)
-   [setLengthRight](#setlengthright)
-   [sha256](#sha256)
-   [sha3](#sha3)
-   [toBuffer](#tobuffer)
-   [toChecksumAddress](#tochecksumaddress)
-   [toRpcSig](#torpcsig)
-   [toUnsigned](#tounsigned)
-   [unpad](#unpad)
-   [isValidSignature](#isvalidsignature)
-   [isZeroAddress](#iszeroaddress)
-   [KECCAK256_NULL](#keccak256_null)
-   [KECCAK256_NULL_S](#keccak256_null_s)
-   [KECCAK256_RLP](#keccak256_rlp)
-   [KECCAK256_RLP_ARRAY](#keccak256_rlp_array)
-   [KECCAK256_RLP_ARRAY_S](#keccak256_rlp_array_s)
-   [KECCAK256_RLP_S](#keccak256_rlp_s)
-   [lsetLength](#lsetlength)
-   [MAX_INTEGER](#max_integer)
-   [privateToPublic](#privatetopublic)
-   [TWO_POW256](#two_pow256)
-   [zeroAddress](#zeroaddress)
-   [zeros](#zeros)

## addHexPrefix

[index.js:541-547](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L541-L547 "Source code on GitHub")

Adds "0x" to a given `String` if it does not already start with "0x"

**Parameters**

-   `str` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 

Returns **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 

## baToJSON

[index.js:590-600](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L590-L600 "Source code on GitHub")

Converts a `Buffer` or `Array` to JSON

**Parameters**

-   `ba` **([Buffer](https://nodejs.org/api/buffer.html) \| [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array))** 

Returns **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array) \| [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | null)** 

## BN

[index.js:68-68](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L68-L68 "Source code on GitHub")

[`BN`](https://github.com/indutny/bn.js)

Type: [Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)

## bufferToHex

[index.js:200-203](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L200-L203 "Source code on GitHub")

Converts a `Buffer` into a hex `String`

**Parameters**

-   `buf` **[Buffer](https://nodejs.org/api/buffer.html)** 

Returns **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 

## bufferToInt

[index.js:191-193](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L191-L193 "Source code on GitHub")

Converts a `Buffer` to a `Number`

**Parameters**

-   `buf` **[Buffer](https://nodejs.org/api/buffer.html)** 


-   Throws **any** If the input number exceeds 53 bits.

Returns **[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)** 

## defineProperties

[index.js:612-705](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L612-L705 "Source code on GitHub")

Defines properties on a `Object`. It make the assumption that underlying data is binary.

**Parameters**

-   `self` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** the `Object` to define properties on
-   `fields` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)** an array fields to define. Fields can contain:-   `name` - the name of the properties
    -   `length` - the number of bytes the field can have
    -   `allowLess` - if the field can be less than the length
    -   `allowEmpty`
-   `data` **any** data to be validated against the definitions

## ecrecover

[index.js:386-394](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L386-L394 "Source code on GitHub")

ECDSA public key recovery from signature

**Parameters**

-   `msgHash` **[Buffer](https://nodejs.org/api/buffer.html)** 
-   `v` **[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)** 
-   `r` **[Buffer](https://nodejs.org/api/buffer.html)** 
-   `s` **[Buffer](https://nodejs.org/api/buffer.html)** 

Returns **[Buffer](https://nodejs.org/api/buffer.html)** publicKey

## ecsign

[index.js:355-363](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L355-L363 "Source code on GitHub")

ECDSA sign

**Parameters**

-   `msgHash` **[Buffer](https://nodejs.org/api/buffer.html)** 
-   `privateKey` **[Buffer](https://nodejs.org/api/buffer.html)** 

Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** 

## fromRpcSig

[index.js:424-443](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L424-L443 "Source code on GitHub")

Convert signature format of the `huc_sign` RPC method to signature parameters
NOTE: all because of a bug in ghuc: <https://github.com/happyuc-project/happyuc-go/issues/2053>

**Parameters**

-   `sig` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 

Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** 

## fromSigned

[index.js:210-212](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L210-L212 "Source code on GitHub")

Interprets a `Buffer` as a signed integer and returns a `BN`. Assumes 256-bit numbers.

**Parameters**

-   `num` **[Buffer](https://nodejs.org/api/buffer.html)** 

Returns **BN** 

## generateAddress

[index.js:510-524](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L510-L524 "Source code on GitHub")

Generates an address of a newly created contract

**Parameters**

-   `from` **[Buffer](https://nodejs.org/api/buffer.html)** the address which is creating this new address
-   `nonce` **[Buffer](https://nodejs.org/api/buffer.html)** the nonce of the from account

Returns **[Buffer](https://nodejs.org/api/buffer.html)** 

## hashPersonalMessage

[index.js:373-376](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L373-L376 "Source code on GitHub")

Returns the keccak-256 hash of `message`, prefixed with the header used by the `huc_sign` RPC call.
The output of this function can be fed into `ecsign` to produce the same signature as the `huc_sign`
call for a given `message`, or fed to `ecrecover` along with a signature to recover the public key
used to produce the signature.

**Parameters**

-   `message`  

Returns **[Buffer](https://nodejs.org/api/buffer.html)** hash

## importPublic

[index.js:341-347](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L341-L347 "Source code on GitHub")

Converts a public key to the HappyUC format.

**Parameters**

-   `publicKey` **[Buffer](https://nodejs.org/api/buffer.html)** 

Returns **[Buffer](https://nodejs.org/api/buffer.html)** 

## isPrecompiled

[index.js:531-534](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L531-L534 "Source code on GitHub")

Returns true if the supplied address belongs to a precompiled account (Byzantium)

**Parameters**

-   `address` **([Buffer](https://nodejs.org/api/buffer.html) \| [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))** 

Returns **[Boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

## isValidAddress

[index.js:459-461](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L459-L461 "Source code on GitHub")

Checks if the address is a valid. Accepts checksummed addresses too

**Parameters**

-   `address` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 

Returns **[Boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

## isValidChecksumAddress

[index.js:500-502](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L500-L502 "Source code on GitHub")

Checks if the address is a valid checksummed address

**Parameters**

-   `address` **[Buffer](https://nodejs.org/api/buffer.html)** 

Returns **[Boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

## isValidPrivate

[index.js:284-286](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L284-L286 "Source code on GitHub")

Checks if the private key satisfies the rules of the curve secp256k1.

**Parameters**

-   `privateKey` **[Buffer](https://nodejs.org/api/buffer.html)** 

Returns **[Boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

## isValidPublic

[index.js:295-306](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L295-L306 "Source code on GitHub")

Checks if the public key satisfies the rules of the curve secp256k1
and the requirements of HappyUC.

**Parameters**

-   `publicKey` **[Buffer](https://nodejs.org/api/buffer.html)** The two points of an uncompressed key, unless sanitize is enabled
-   `sanitize` **[Boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** Accept public keys in other formats (optional, default `false`)

Returns **[Boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

## keccak

[index.js:229-234](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L229-L234 "Source code on GitHub")

Creates Keccak hash of the input

**Parameters**

-   `a` **([Buffer](https://nodejs.org/api/buffer.html) \| [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array) \| [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) \| [Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number))** the input data
-   `bits` **[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)** the Keccak width (optional, default `256`)

Returns **[Buffer](https://nodejs.org/api/buffer.html)** 

## privateToAddress

[index.js:450-452](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L450-L452 "Source code on GitHub")

Returns the happyuc address of a given private key

**Parameters**

-   `privateKey` **[Buffer](https://nodejs.org/api/buffer.html)** A private key must be 256 bits wide

Returns **[Buffer](https://nodejs.org/api/buffer.html)** 

## pubToAddress

[index.js:315-323](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L315-L323 "Source code on GitHub")

Returns the happyuc address of a given public key.
Accepts "HappyUC public keys" and SEC1 encoded keys.

**Parameters**

-   `pubKey` **[Buffer](https://nodejs.org/api/buffer.html)** The two points of an uncompressed key, unless sanitize is enabled
-   `sanitize` **[Boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** Accept public keys in other formats (optional, default `false`)

Returns **[Buffer](https://nodejs.org/api/buffer.html)** 

## ripemd160

[index.js:260-268](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L260-L268 "Source code on GitHub")

Creates RIPEMD160 hash of the input

**Parameters**

-   `a` **([Buffer](https://nodejs.org/api/buffer.html) \| [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array) \| [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) \| [Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number))** the input data
-   `padded` **[Boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** whether it should be padded to 256 bits or not

Returns **[Buffer](https://nodejs.org/api/buffer.html)** 

## rlp

[index.js:74-74](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L74-L74 "Source code on GitHub")

[`rlp`](https://github.com/happyucjs/rlp)

Type: [Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)

## rlphash

[index.js:275-277](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L275-L277 "Source code on GitHub")

Creates SHA-3 hash of the RLP encoded version of the input

**Parameters**

-   `a` **([Buffer](https://nodejs.org/api/buffer.html) \| [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array) \| [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) \| [Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number))** the input data

Returns **[Buffer](https://nodejs.org/api/buffer.html)** 

## secp256k1

[index.js:80-80](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L80-L80 "Source code on GitHub")

[`secp256k1`](https://github.com/cryptocoinjs/secp256k1-node/)

Type: [Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)

## setLengthRight

[index.js:137-139](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L137-L139 "Source code on GitHub")

Right Pads an `Array` or `Buffer` with leading zeros till it has `length` bytes.
Or it truncates the beginning if it exceeds.

**Parameters**

-   `msg` **([Buffer](https://nodejs.org/api/buffer.html) \| [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array))** the value to pad
-   `length` **[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)** the number of bytes the output should be

Returns **([Buffer](https://nodejs.org/api/buffer.html) \| [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array))** 

## sha256

[index.js:249-252](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L249-L252 "Source code on GitHub")

Creates SHA256 hash of the input

**Parameters**

-   `a` **([Buffer](https://nodejs.org/api/buffer.html) \| [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array) \| [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) \| [Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number))** the input data

Returns **[Buffer](https://nodejs.org/api/buffer.html)** 

## sha3

[index.js:242-242](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L242-L242 "Source code on GitHub")

Creates SHA-3 (Keccak) hash of the input [OBSOLETE]

**Parameters**

-   `a` **([Buffer](https://nodejs.org/api/buffer.html) \| [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array) \| [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) \| [Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number))** the input data
-   `bits` **[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)** the SHA-3 width (optional, default `256`)

Returns **[Buffer](https://nodejs.org/api/buffer.html)** 

## toBuffer

[index.js:159-183](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L159-L183 "Source code on GitHub")

Attempts to turn a value into a `Buffer`. As input it supports `Buffer`, `String`, `Number`, null/undefined, `BN` and other objects with a `toArray()` method.

**Parameters**

-   `v` **any** the value

## toChecksumAddress

[index.js:479-493](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L479-L493 "Source code on GitHub")

Returns a checksummed address

**Parameters**

-   `address` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 

Returns **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 

## toRpcSig

[index.js:403-416](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L403-L416 "Source code on GitHub")

Convert signature parameters into the format of `huc_sign` RPC method

**Parameters**

-   `v` **[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)** 
-   `r` **[Buffer](https://nodejs.org/api/buffer.html)** 
-   `s` **[Buffer](https://nodejs.org/api/buffer.html)** 

Returns **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** sig

## toUnsigned

[index.js:219-221](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L219-L221 "Source code on GitHub")

Converts a `BN` to an unsigned integer and returns it as a `Buffer`. Assumes 256-bit numbers.

**Parameters**

-   `num` **BN** 

Returns **[Buffer](https://nodejs.org/api/buffer.html)** 

## unpad

[index.js:146-154](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L146-L154 "Source code on GitHub")

Trims leading zeros from a `Buffer` or an `Array`

**Parameters**

-   `a` **([Buffer](https://nodejs.org/api/buffer.html) \| [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array) \| [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))** 

Returns **([Buffer](https://nodejs.org/api/buffer.html) \| [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array) \| [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))** 

## isValidSignature

[index.js:559-583](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L559-L583 "Source code on GitHub")

Validate ECDSA signature

**Parameters**

-   `v` **[Buffer](https://nodejs.org/api/buffer.html)** 
-   `r` **[Buffer](https://nodejs.org/api/buffer.html)** 
-   `s` **[Buffer](https://nodejs.org/api/buffer.html)** 
-   `homestead` **[Boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**  (optional, default `true`)

Returns **[Boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

## isZeroAddress

[index.js:469-472](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L469-L472 "Source code on GitHub")

Checks if a given address is a zero address

**Parameters**

-   `address` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 

Returns **[Boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** 

## KECCAK256_NULL

[index.js:33-33](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L33-L33 "Source code on GitHub")

Keccak-256 hash of null (a `Buffer`)

Type: [Buffer](https://nodejs.org/api/buffer.html)

## KECCAK256_NULL_S

[index.js:26-26](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L26-L26 "Source code on GitHub")

Keccak-256 hash of null (a `String`)

Type: [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)

## KECCAK256_RLP

[index.js:61-61](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L61-L61 "Source code on GitHub")

Keccak-256 hash of the RLP of null (a `Buffer`)

Type: [Buffer](https://nodejs.org/api/buffer.html)

## KECCAK256_RLP_ARRAY

[index.js:47-47](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L47-L47 "Source code on GitHub")

Keccak-256 of an RLP of an empty array (a `Buffer`)

Type: [Buffer](https://nodejs.org/api/buffer.html)

## KECCAK256_RLP_ARRAY_S

[index.js:40-40](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L40-L40 "Source code on GitHub")

Keccak-256 of an RLP of an empty array (a `String`)

Type: [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)

## KECCAK256_RLP_S

[index.js:54-54](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L54-L54 "Source code on GitHub")

Keccak-256 hash of the RLP of null  (a `String`)

Type: [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)

## lsetLength

[index.js:112-128](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L112-L128 "Source code on GitHub")

Left Pads an `Array` or `Buffer` with leading zeros till it has `length` bytes.
Or it truncates the beginning if it exceeds.

**Parameters**

-   `msg` **([Buffer](https://nodejs.org/api/buffer.html) \| [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array))** the value to pad
-   `length` **[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)** the number of bytes the output should be
-   `right` **[Boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** whether to start padding form the left or right (optional, default `false`)

Returns **([Buffer](https://nodejs.org/api/buffer.html) \| [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array))** 

## MAX_INTEGER

[index.js:14-14](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L14-L14 "Source code on GitHub")

the max integer that this VM can handle (a `BN`)

Type: BN

## privateToPublic

[index.js:330-334](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L330-L334 "Source code on GitHub")

Returns the happyuc public key of a given private key

**Parameters**

-   `privateKey` **[Buffer](https://nodejs.org/api/buffer.html)** A private key must be 256 bits wide

Returns **[Buffer](https://nodejs.org/api/buffer.html)** 

## TWO_POW256

[index.js:20-20](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L20-L20 "Source code on GitHub")

2^256 (a `BN`)

Type: BN

## zeroAddress

[index.js:97-101](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L97-L101 "Source code on GitHub")

Returns a zero address

Returns **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 

## zeros

[index.js:88-90](https://github.com/happyucjs/happyucjs-util/blob/fde15dd0cc65885dc8731d1bd2facbba78fb39ac/index.js#L88-L90 "Source code on GitHub")

Returns a buffer filled with 0s

**Parameters**

-   `bytes` **[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)** the number of bytes the buffer should be

Returns **[Buffer](https://nodejs.org/api/buffer.html)** 
