@tevm/voltaire / primitives/TokenBalance
primitives/TokenBalance
Classes
InvalidTokenBalanceError
Defined in: src/primitives/TokenBalance/errors.ts:23 Base validation errorExample
Extends
Constructors
Constructor
new InvalidTokenBalanceError(Defined in: src/primitives/TokenBalance/errors.ts:24message,options?):InvalidTokenBalanceError
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?
Defined in: src/primitives/errors/AbstractError.ts:56 Root cause of this error (for error chaining)optionalcause:Error
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?
Defined in: src/primitives/errors/AbstractError.ts:45 Additional context metadata for debuggingoptionalcontext:Record<string,unknown>
Example
Inherited from
ValidationError.context
docsPath?
Defined in: src/primitives/errors/AbstractError.ts:51 Path to documentation for this erroroptionaldocsPath:string
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():Defined in: src/primitives/errors/AbstractError.ts:110 Serialize error to JSON for logging/telemetryRecord<string,unknown>
Returns
Record<string, unknown>
Inherited from
ValidationError.toJSON
TokenBalanceError
Defined in: src/primitives/TokenBalance/errors.ts:3 Base error for all primitive-related errorsExample
Extends
Constructors
Constructor
new TokenBalanceError(Defined in: src/primitives/TokenBalance/errors.ts:4message,options?):TokenBalanceError
Parameters
message
string
options?
cause?
Error
code?
string
context?
Record<string, unknown>
docsPath?
string
Returns
TokenBalanceError
Overrides
PrimitiveError.constructor
Properties
cause?
Defined in: src/primitives/errors/AbstractError.ts:56 Root cause of this error (for error chaining)optionalcause:Error
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?
Defined in: src/primitives/errors/AbstractError.ts:45 Additional context metadata for debuggingoptionalcontext:Record<string,unknown>
Example
Inherited from
PrimitiveError.context
docsPath?
Defined in: src/primitives/errors/AbstractError.ts:51 Path to documentation for this erroroptionaldocsPath:string
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():Defined in: src/primitives/errors/AbstractError.ts:110 Serialize error to JSON for logging/telemetryRecord<string,unknown>
Returns
Record<string, unknown>
Inherited from
PrimitiveError.toJSON
TokenBalanceOverflowError
Defined in: src/primitives/TokenBalance/errors.ts:47 Base validation errorExample
Extends
Constructors
Constructor
new TokenBalanceOverflowError(Defined in: src/primitives/TokenBalance/errors.ts:48message,options?):TokenBalanceOverflowError
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?
Defined in: src/primitives/errors/AbstractError.ts:56 Root cause of this error (for error chaining)optionalcause:Error
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?
Defined in: src/primitives/errors/AbstractError.ts:45 Additional context metadata for debuggingoptionalcontext:Record<string,unknown>
Example
Inherited from
ValidationError.context
docsPath?
Defined in: src/primitives/errors/AbstractError.ts:51 Path to documentation for this erroroptionaldocsPath:string
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():Defined in: src/primitives/errors/AbstractError.ts:110 Serialize error to JSON for logging/telemetryRecord<string,unknown>
Returns
Record<string, unknown>
Inherited from
ValidationError.toJSON
Type Aliases
TokenBalanceType
TokenBalanceType =Defined in: src/primitives/TokenBalance/TokenBalanceType.ts:10 TokenBalance type - ERC-20 token balancebigint&object
Type Declaration
[brand]
readonly[brand]:"TokenBalance"
See
- https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentation
- https://eips.ethereum.org/EIPS/eip-20 for ERC-20 specification
Since
0.0.0Variables
compare()
Defined in: src/primitives/TokenBalance/index.ts:34 Compare two TokenBalance valuesconstcompare: (a,b) =>number=_compare
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 documentationSince
0.0.0Example
constants
Defined in: src/primitives/TokenBalance/index.ts:40constconstants:object
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()
Defined in: src/primitives/TokenBalance/index.ts:33 Check if two TokenBalance values are equalconstequals: (a,b) =>boolean=_equals
Parameters
a
TokenBalanceType
First TokenBalance
b
TokenBalanceType
Second TokenBalance
Returns
boolean
true if equal
See
https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentationSince
0.0.0Example
ERC20_SELECTORS
Defined in: src/primitives/TokenBalance/index.ts:47constERC20_SELECTORS:object
Type Declaration
allowance
readonlyallowance:"0xdd62ed3e"="0xdd62ed3e"
approve
readonlyapprove:"0x095ea7b3"="0x095ea7b3"
balanceOf
readonlybalanceOf:"0x70a08231"="0x70a08231"
totalSupply
readonlytotalSupply:"0x18160ddd"="0x18160ddd"
transfer
readonlytransfer:"0xa9059cbb"="0xa9059cbb"
transferFrom
readonlytransferFrom:"0x23b872dd"="0x23b872dd"
format()
Defined in: src/primitives/TokenBalance/index.ts:35 Format TokenBalance for display with decimalsconstformat: (balance,decimals,maxDecimals?) =>string=_format
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 documentationSince
0.0.0Example
from()
Defined in: src/primitives/TokenBalance/index.ts:29 Create TokenBalance from bigint, number, or stringconstfrom: (value) =>TokenBalanceType=_from
Parameters
value
bigint, number, or decimal/hex stringstring | number | bigint
Returns
TokenBalanceType
TokenBalance value
See
https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentationSince
0.0.0Throws
If value is out of range or invalidExample
fromBaseUnit()
Defined in: src/primitives/TokenBalance/index.ts:36 Convert from human-readable base unit to raw TokenBalanceconstfromBaseUnit: (amount,decimals) =>TokenBalanceType=_fromBaseUnit
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 documentationSince
0.0.0Throws
If amount format is invalidExample
toBaseUnit()
Defined in: src/primitives/TokenBalance/index.ts:37 Convert TokenBalance to base unit bigint (raw value)consttoBaseUnit: (balance) =>bigint=_toBaseUnit
Parameters
balance
TokenBalanceType
TokenBalance value
Returns
bigint
Raw bigint value
See
https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentationSince
0.0.0Example
toBigInt()
Defined in: src/primitives/TokenBalance/index.ts:31 Convert TokenBalance to bigintconsttoBigInt: (balance) =>bigint=_toBigInt
Parameters
balance
TokenBalanceType
TokenBalance value to convert
Returns
bigint
bigint value
See
https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentationSince
0.0.0Example
toHex()
Defined in: src/primitives/TokenBalance/index.ts:32 Convert TokenBalance to hex stringconsttoHex: (balance) =>string=_toHex
Parameters
balance
TokenBalanceType
TokenBalance value to convert
Returns
string
Hex string with 0x prefix
See
https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentationSince
0.0.0Example
toNumber()
Defined in: src/primitives/TokenBalance/index.ts:30 Convert TokenBalance to number (unsafe for large values)consttoNumber: (balance) =>number=_toNumber
Parameters
balance
TokenBalanceType
TokenBalance value to convert
Returns
number
number value
See
https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentationSince
0.0.0Throws
If value exceeds Number.MAX_SAFE_INTEGERExample
Functions
_compare()
_compare(Defined in: src/primitives/TokenBalance/compare.js:17 Compare two TokenBalance valuesa,b):number
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 documentationSince
0.0.0Example
_equals()
_equals(Defined in: src/primitives/TokenBalance/equals.js:17 Check if two TokenBalance values are equala,b):boolean
Parameters
a
TokenBalanceType
First TokenBalance
b
TokenBalanceType
Second TokenBalance
Returns
boolean
true if equal
See
https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentationSince
0.0.0Example
_format()
_format(Defined in: src/primitives/TokenBalance/format.js:18 Format TokenBalance for display with decimalsbalance,decimals,maxDecimals?):string
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 documentationSince
0.0.0Example
_from()
_from(Defined in: src/primitives/TokenBalance/from.js:20 Create TokenBalance from bigint, number, or stringvalue):TokenBalanceType
Parameters
value
bigint, number, or decimal/hex stringstring | number | bigint
Returns
TokenBalanceType
TokenBalance value
See
https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentationSince
0.0.0Throws
If value is out of range or invalidExample
_fromBaseUnit()
_fromBaseUnit(Defined in: src/primitives/TokenBalance/fromBaseUnit.js:19 Convert from human-readable base unit to raw TokenBalanceamount,decimals):TokenBalanceType
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 documentationSince
0.0.0Throws
If amount format is invalidExample
_toBaseUnit()
_toBaseUnit(Defined in: src/primitives/TokenBalance/toBaseUnit.js:15 Convert TokenBalance to base unit bigint (raw value)balance):bigint
Parameters
balance
TokenBalanceType
TokenBalance value
Returns
bigint
Raw bigint value
See
https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentationSince
0.0.0Example
_toBigInt()
_toBigInt(Defined in: src/primitives/TokenBalance/toBigInt.js:15 Convert TokenBalance to bigintbalance):bigint
Parameters
balance
TokenBalanceType
TokenBalance value to convert
Returns
bigint
bigint value
See
https://voltaire.tevm.sh/primitives/token-balance for TokenBalance documentationSince
0.0.0Example
_toHex()
_toHex(Defined in: src/primitives/TokenBalance/toHex.js:15 Convert TokenBalance to hex stringbalance):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 documentationSince
0.0.0Example
_toNumber()
_toNumber(Defined in: src/primitives/TokenBalance/toNumber.js:16 Convert TokenBalance to number (unsafe for large values)balance):number
Parameters
balance
TokenBalanceType
TokenBalance value to convert
Returns
number
number value

