3.5.0 • Published 5 months ago

@zilliqa-js/util v3.5.0

Weekly downloads
2
License
GPL-3.0
Repository
github
Last release
5 months ago

@zilliqa-js/util

Utility functions useful in Zilliqa-related programs.

Classes

BN

See documentation at bn.js. This is simply a re-export of that library to prevent bloating other @zilliqa-js packages, most of which depend on bn.js in small ways.

Long

See documentation at long.js. This is simply a re-export for similar reasons. Note that long is only required if you need to serialise integers with size greater than or equal to 2^53.

PRESETS

Commonly used variables such as DEVNET_URL. See source for more info.

Functions

intToHexArray(int: number, size: number): string[]

Converts an integer to an array of hexadecimal strings (little endian). Size is the total length of bytes to pad to.

Parameters

  • int: number - the decimal number to convert.

Returns

  • string[] - hexadecimal array representation of the decimal number.

intToByteArray(num: number, size: number): Uint8Array

Converts an integer to a Uint8Array (i.e., byte array).

Parameters

  • num: number - the decimal number to convert

Returns

  • Uint8Array - byte array, padded to size.

hexToByteArray(hex: string): Uint8Array

Converts a hex-encoded string to a Uint8Array. Endianess is not important.

Parameters

  • hex: string

Returns

  • Uint8Array

hexToIntArray(hex: string): number[]

Converts a hex-encoded string to an array of integers.

Parameters

  • hex: string

Returns

  • number[]

pack(a: number, b: number): number

Performs bitwise addition of two 16-bit numbers, returning a 32-bit number. Throws if either number exceeds 16 bits.

Parameters

  • a: number - a 16-bit number.
  • b: number - a 16-bit number.

Returns

  • number - the combined 32-bit number.

compareBytes(a: string, b: string): boolean

Performs a constant time comparison of two hexadecimal values. This avoids timing attacks.

Parameters

  • a: string - hex-encoded string.
  • b: string - hex-encoded string.

Returns

  • boolean - true if the values are equal.

isHex(str: string): boolean

Determines if a given string is hex-encoded.

Parameters

  • str: string.

Returns

  • boolean - true if the string is hex-encoded.

isAddress(address: string): boolean

Determines if a given string is a valid address.

Parameters

  • address: string.

Returns

  • boolean - true if the string is an address.

isBech32(address: string): boolean

Determines if a given string is a valid Zilliqa bech32 address.

Parameters

  • address: string.

Returns

  • boolean - true if the string is a valid Zilliqa bech32 address.

isPrivateKey(privateKey: string): boolean

Determines if a given string is a valid private key.

Parameters

  • privateKey: string.

Returns

  • boolean - true if the string is a valid private key.

isPubKey(pubKey: string): boolean

Determines if a given string is a valid uncompressed public key.

Parameters

  • pubKey: string.

Returns

  • boolean - true if the string is a valid public key.

isSignature(sig: string): boolean

Determines if a given string is a valid Schnorr signature.

Parameters

  • sig: string

Returns

  • boolean - true if the string is a valid signature.

isNumber(x: unknown): boolean

Determines if a given value is a valid JS number.

Parameters

  • x: unknown

Returns

  • boolean - true if the string is a valid signature.

isBN(x: unknown): boolean

Determines if a given value is an instance of BN.js.

Parameters

  • x: unknown

Returns

  • boolean - true if the value is a BN instance.

isString(x: unknown): boolean

Determines if a given value is a valid JS string.

Parameters

  • x: unknown

Returns

  • boolean - true if the value is a string.

isPlainObject(x: unknown): boolean

Determines if a given value is a plain JS object (i.e. directly below Object in the prototype chain).

Parameters

  • x: unknown

Returns

  • boolean - true if the value is a plain object.

matchesObject(x: unknown, test: { [key: string]: Validator[] }): boolean

Determines if a value has the shape specified by test.

Parameters

  • x: unknown
  • test: { [key: string]: Validator[] }

Returns

  • boolean - true if the value matches test.

fromQa(qa: BN, unit: Units, options: Options)

Converts from qa (smallest unit) to zil or li.

Parameters

  • qa: BN - the value to convert from.
  • unit: Units - the unit to be converted to ('zil' | 'qa').
  • options: Options - an object specifying options.

toQa(input: string | number | BN, unit: Units)

Converts zil or li to qa (smallest unit).

Parameters

  • input: string | number | BN - the value to convert from.
  • unit: Units - the unit to be converted from ('zil' | 'li').
3.5.0

5 months ago

3.4.4

9 months ago

3.4.0

11 months ago

3.4.3-rc.0

11 months ago

3.4.3

11 months ago

3.4.2

11 months ago

3.4.1

11 months ago

3.4.2-rc.0

11 months ago

3.4.0-rc.3

11 months ago

3.4.0-rc.1

11 months ago

3.4.0-rc.2

11 months ago

3.4.0-rc.0

11 months ago

3.3.1

3 years ago

3.3.4

2 years ago

3.3.3

2 years ago

3.3.2

3 years ago

3.3.0

3 years ago

3.2.0

3 years ago

3.1.0

3 years ago

3.0.0

3 years ago

2.2.0

3 years ago

0.11.1

4 years ago

0.11.0

4 years ago

0.10.1

4 years ago

0.10.0

4 years ago

0.9.1

4 years ago

0.9.0

4 years ago

0.8.8

4 years ago

0.8.3

5 years ago

0.8.1-alpha.2

5 years ago

0.7.1

5 years ago

0.7.0

5 years ago

0.6.3

5 years ago

0.6.0

5 years ago

0.5.0

5 years ago

0.4.0

5 years ago

0.3.3

5 years ago

0.3.0

5 years ago

0.2.10

5 years ago

0.2.9

5 years ago

0.2.6

5 years ago

0.2.5

5 years ago

0.2.4

5 years ago

0.2.3

5 years ago

0.2.2

5 years ago

0.2.1

5 years ago

0.2.0

6 years ago