Skip to main content
@tevm/voltaire
@tevm/voltaire / primitives/TokenBalance

primitives/TokenBalance

Classes

InvalidTokenBalanceError

Defined in: src/primitives/TokenBalance/errors.ts:23 Base validation error

Example

Extends

Constructors

Constructor
new InvalidTokenBalanceError(message, options?): InvalidTokenBalanceError
Defined in: src/primitives/TokenBalance/errors.ts:24
Parameters
message
string
options?
cause?
Error
code?
string
context?
Record<string, unknown>
docsPath?
string
expected?
string
value?
unknown
Returns
InvalidTokenBalanceError
Overrides
ValidationError.constructor

Properties

cause?
optional cause: Error
Defined in: src/primitives/errors/AbstractError.ts:56 Root cause of this error (for error chaining)
Inherited from
ValidationError.cause
code
code: string
Defined in: src/primitives/errors/AbstractError.ts:39 Machine-readable error code for programmatic handling
Example
Inherited from
ValidationError.code
context?
optional context: Record<string, unknown>
Defined in: src/primitives/errors/AbstractError.ts:45 Additional context metadata for debugging
Example
Inherited from
ValidationError.context
docsPath?
optional docsPath: string
Defined in: src/primitives/errors/AbstractError.ts:51 Path to documentation for this error
Example
Inherited from
ValidationError.docsPath
expected
expected: string
Defined in: src/primitives/errors/ValidationError.ts:19
Inherited from
ValidationError.expected
value
value: unknown
Defined in: src/primitives/errors/ValidationError.ts:18
Inherited from
ValidationError.value

Methods

getErrorChain()
getErrorChain(): string
Defined in: src/primitives/errors/AbstractError.ts:94 Get full error chain as string for logging
Returns
string
Inherited from
ValidationError.getErrorChain
toJSON()
toJSON(): Record<string, unknown>
Defined in: src/primitives/errors/AbstractError.ts:110 Serialize error to JSON for logging/telemetry
Returns
Record<string, unknown>
Inherited from
ValidationError.toJSON

TokenBalanceError

Defined in: src/primitives/TokenBalance/errors.ts:3 Base error for all primitive-related errors

Example

Extends

Constructors

Constructor
new TokenBalanceError(message, options?): TokenBalanceError
Defined in: src/primitives/TokenBalance/errors.ts:4
Parameters
message
string
options?
cause?
Error
code?
string
context?
Record<string, unknown>
docsPath?
string
Returns
TokenBalanceError
Overrides
PrimitiveError.constructor

Properties

cause?
optional cause: Error
Defined in: src/primitives/errors/AbstractError.ts:56 Root cause of this error (for error chaining)
Inherited from
PrimitiveError.cause
code
code: string
Defined in: src/primitives/errors/AbstractError.ts:39 Machine-readable error code for programmatic handling
Example
Inherited from
PrimitiveError.code
context?
optional context: Record<string, unknown>
Defined in: src/primitives/errors/AbstractError.ts:45 Additional context metadata for debugging
Example
Inherited from
PrimitiveError.context
docsPath?
optional docsPath: string
Defined in: src/primitives/errors/AbstractError.ts:51 Path to documentation for this error
Example
Inherited from
PrimitiveError.docsPath

Methods

getErrorChain()
getErrorChain(): string
Defined in: src/primitives/errors/AbstractError.ts:94 Get full error chain as string for logging
Returns
string
Inherited from
PrimitiveError.getErrorChain
toJSON()
toJSON(): Record<string, unknown>
Defined in: src/primitives/errors/AbstractError.ts:110 Serialize error to JSON for logging/telemetry
Returns
Record<string, unknown>
Inherited from
PrimitiveError.toJSON

TokenBalanceOverflowError

Defined in: src/primitives/TokenBalance/errors.ts:47 Base validation error

Example

Extends

Constructors

Constructor
new TokenBalanceOverflowError(message, options?): TokenBalanceOverflowError
Defined in: src/primitives/TokenBalance/errors.ts:48
Parameters
message
string
options?
cause?
Error
code?
string
context?
Record<string, unknown>
docsPath?
string
expected?
string
value?
unknown
Returns
TokenBalanceOverflowError
Overrides
ValidationError.constructor

Properties

cause?
optional cause: Error
Defined in: src/primitives/errors/AbstractError.ts:56 Root cause of this error (for error chaining)
Inherited from
ValidationError.cause
code
code: string
Defined in: src/primitives/errors/AbstractError.ts:39 Machine-readable error code for programmatic handling
Example
Inherited from
ValidationError.code
context?
optional context: Record<string, unknown>
Defined in: src/primitives/errors/AbstractError.ts:45 Additional context metadata for debugging
Example
Inherited from
ValidationError.context
docsPath?
optional docsPath: string
Defined in: src/primitives/errors/AbstractError.ts:51 Path to documentation for this error
Example
Inherited from
ValidationError.docsPath
expected
expected: string
Defined in: src/primitives/errors/ValidationError.ts:19
Inherited from
ValidationError.expected
value
value: unknown
Defined in: src/primitives/errors/ValidationError.ts:18
Inherited from
ValidationError.value

Methods

getErrorChain()
getErrorChain(): string
Defined in: src/primitives/errors/AbstractError.ts:94 Get full error chain as string for logging
Returns
string
Inherited from
ValidationError.getErrorChain
toJSON()
toJSON(): Record<string, unknown>
Defined in: src/primitives/errors/AbstractError.ts:110 Serialize error to JSON for logging/telemetry
Returns
Record<string, unknown>
Inherited from
ValidationError.toJSON

Type Aliases

TokenBalanceType

TokenBalanceType = bigint & object
Defined in: src/primitives/TokenBalance/TokenBalanceType.ts:10 TokenBalance type - ERC-20 token balance

Type Declaration

[brand]
readonly [brand]: "TokenBalance"

See

Since

0.0.0

Variables

compare()

const compare: (a, b) => number = _compare
Defined in: src/primitives/TokenBalance/index.ts:34 Compare two TokenBalance values

Parameters

a
TokenBalanceType First TokenBalance
b
TokenBalanceType Second TokenBalance

Returns

number -1 if a < b, 0 if a === b, 1 if a > b

See

https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentation

Since

0.0.0

Example


constants

const constants: object
Defined in: src/primitives/TokenBalance/index.ts:40

Type Declaration

DECIMALS
DECIMALS: object
Common decimal counts for ERC-20 tokens
DECIMALS.DAI
DAI: number = 18
DECIMALS.ETH
ETH: number = 18
DECIMALS.USDC
USDC: number = 6
DECIMALS.USDT
USDT: number = 6
DECIMALS.WBTC
WBTC: number = 8
DECIMALS.WETH
WETH: number = 18
MAX
MAX: bigint
Maximum TokenBalance value (2^256 - 1)
MIN
MIN: bigint
Minimum TokenBalance value (0)

equals()

const equals: (a, b) => boolean = _equals
Defined in: src/primitives/TokenBalance/index.ts:33 Check if two TokenBalance values are equal

Parameters

a
TokenBalanceType First TokenBalance
b
TokenBalanceType Second TokenBalance

Returns

boolean true if equal

See

https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentation

Since

0.0.0

Example


ERC20_SELECTORS

const ERC20_SELECTORS: object
Defined in: src/primitives/TokenBalance/index.ts:47

Type Declaration

allowance
readonly allowance: "0xdd62ed3e" = "0xdd62ed3e"
approve
readonly approve: "0x095ea7b3" = "0x095ea7b3"
balanceOf
readonly balanceOf: "0x70a08231" = "0x70a08231"
totalSupply
readonly totalSupply: "0x18160ddd" = "0x18160ddd"
transfer
readonly transfer: "0xa9059cbb" = "0xa9059cbb"
transferFrom
readonly transferFrom: "0x23b872dd" = "0x23b872dd"

format()

const format: (balance, decimals, maxDecimals?) => string = _format
Defined in: src/primitives/TokenBalance/index.ts:35 Format TokenBalance for display with decimals

Parameters

balance
TokenBalanceType TokenBalance value
decimals
number Number of decimal places (e.g., 18 for ETH, 6 for USDC)
maxDecimals?
number Maximum decimal places to display (for rounding)

Returns

string Formatted string (e.g., “1.234567”)

See

https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentation

Since

0.0.0

Example


from()

const from: (value) => TokenBalanceType = _from
Defined in: src/primitives/TokenBalance/index.ts:29 Create TokenBalance from bigint, number, or string

Parameters

value
bigint, number, or decimal/hex string string | number | bigint

Returns

TokenBalanceType TokenBalance value

See

https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentation

Since

0.0.0

Throws

If value is out of range or invalid

Example


fromBaseUnit()

const fromBaseUnit: (amount, decimals) => TokenBalanceType = _fromBaseUnit
Defined in: src/primitives/TokenBalance/index.ts:36 Convert from human-readable base unit to raw TokenBalance

Parameters

amount
string Human-readable amount (e.g., “1.5” for 1.5 tokens)
decimals
number Number of decimal places (e.g., 18 for ETH, 6 for USDC)

Returns

TokenBalanceType TokenBalance value

See

https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentation

Since

0.0.0

Throws

If amount format is invalid

Example


toBaseUnit()

const toBaseUnit: (balance) => bigint = _toBaseUnit
Defined in: src/primitives/TokenBalance/index.ts:37 Convert TokenBalance to base unit bigint (raw value)

Parameters

balance
TokenBalanceType TokenBalance value

Returns

bigint Raw bigint value

See

https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentation

Since

0.0.0

Example


toBigInt()

const toBigInt: (balance) => bigint = _toBigInt
Defined in: src/primitives/TokenBalance/index.ts:31 Convert TokenBalance to bigint

Parameters

balance
TokenBalanceType TokenBalance value to convert

Returns

bigint bigint value

See

https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentation

Since

0.0.0

Example


toHex()

const toHex: (balance) => string = _toHex
Defined in: src/primitives/TokenBalance/index.ts:32 Convert TokenBalance to hex string

Parameters

balance
TokenBalanceType TokenBalance value to convert

Returns

string Hex string with 0x prefix

See

https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentation

Since

0.0.0

Example


toNumber()

const toNumber: (balance) => number = _toNumber
Defined in: src/primitives/TokenBalance/index.ts:30 Convert TokenBalance to number (unsafe for large values)

Parameters

balance
TokenBalanceType TokenBalance value to convert

Returns

number number value

See

https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentation

Since

0.0.0

Throws

If value exceeds Number.MAX_SAFE_INTEGER

Example

Functions

_compare()

_compare(a, b): number
Defined in: src/primitives/TokenBalance/compare.js:17 Compare two TokenBalance values

Parameters

a
TokenBalanceType First TokenBalance
b
TokenBalanceType Second TokenBalance

Returns

number -1 if a < b, 0 if a === b, 1 if a > b

See

https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentation

Since

0.0.0

Example


_equals()

_equals(a, b): boolean
Defined in: src/primitives/TokenBalance/equals.js:17 Check if two TokenBalance values are equal

Parameters

a
TokenBalanceType First TokenBalance
b
TokenBalanceType Second TokenBalance

Returns

boolean true if equal

See

https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentation

Since

0.0.0

Example


_format()

_format(balance, decimals, maxDecimals?): string
Defined in: src/primitives/TokenBalance/format.js:18 Format TokenBalance for display with decimals

Parameters

balance
TokenBalanceType TokenBalance value
decimals
number Number of decimal places (e.g., 18 for ETH, 6 for USDC)
maxDecimals?
number Maximum decimal places to display (for rounding)

Returns

string Formatted string (e.g., “1.234567”)

See

https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentation

Since

0.0.0

Example


_from()

_from(value): TokenBalanceType
Defined in: src/primitives/TokenBalance/from.js:20 Create TokenBalance from bigint, number, or string

Parameters

value
bigint, number, or decimal/hex string string | number | bigint

Returns

TokenBalanceType TokenBalance value

See

https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentation

Since

0.0.0

Throws

If value is out of range or invalid

Example


_fromBaseUnit()

_fromBaseUnit(amount, decimals): TokenBalanceType
Defined in: src/primitives/TokenBalance/fromBaseUnit.js:19 Convert from human-readable base unit to raw TokenBalance

Parameters

amount
string Human-readable amount (e.g., “1.5” for 1.5 tokens)
decimals
number Number of decimal places (e.g., 18 for ETH, 6 for USDC)

Returns

TokenBalanceType TokenBalance value

See

https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentation

Since

0.0.0

Throws

If amount format is invalid

Example


_toBaseUnit()

_toBaseUnit(balance): bigint
Defined in: src/primitives/TokenBalance/toBaseUnit.js:15 Convert TokenBalance to base unit bigint (raw value)

Parameters

balance
TokenBalanceType TokenBalance value

Returns

bigint Raw bigint value

See

https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentation

Since

0.0.0

Example


_toBigInt()

_toBigInt(balance): bigint
Defined in: src/primitives/TokenBalance/toBigInt.js:15 Convert TokenBalance to bigint

Parameters

balance
TokenBalanceType TokenBalance value to convert

Returns

bigint bigint value

See

https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentation

Since

0.0.0

Example


_toHex()

_toHex(balance): string
Defined in: src/primitives/TokenBalance/toHex.js:15 Convert TokenBalance to hex string

Parameters

balance
TokenBalanceType TokenBalance value to convert

Returns

string Hex string with 0x prefix

See

https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentation

Since

0.0.0

Example


_toNumber()

_toNumber(balance): number
Defined in: src/primitives/TokenBalance/toNumber.js:16 Convert TokenBalance to number (unsafe for large values)

Parameters

balance
TokenBalanceType TokenBalance value to convert

Returns

number number value

See

https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentation

Since

0.0.0

Throws

If value exceeds Number.MAX_SAFE_INTEGER

Example