Skip to main content
@tevm/voltaire
@tevm/voltaire / primitives/Abi / Function

Function

Classes

FunctionDecodingError

Defined in: src/primitives/Abi/function/errors.js:33 Error thrown when decoding function data fails

Extends

  • AbiDecodingError

Constructors

Constructor
new FunctionDecodingError(message, options?): FunctionDecodingError
Defined in: src/primitives/Abi/function/errors.js:42
Parameters
message
string Error message
options?
Error options
cause?
Error Original error
code?
string Error code
context?
Record<string, unknown> Additional context
docsPath?
string Documentation path
Returns
FunctionDecodingError
Overrides
AbiDecodingError.constructor

Properties

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

Methods

getErrorChain()
getErrorChain(): string
Defined in: src/primitives/errors/AbstractError.ts:94 Get full error chain as string for logging
Returns
string
Inherited from
AbiDecodingError.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
AbiDecodingError.toJSON

FunctionEncodingError

Defined in: src/primitives/Abi/function/errors.js:10 Error thrown when encoding function data fails

Extends

  • AbiEncodingError

Constructors

Constructor
new FunctionEncodingError(message, options?): FunctionEncodingError
Defined in: src/primitives/Abi/function/errors.js:19
Parameters
message
string Error message
options?
Error options
cause?
Error Original error
code?
string Error code
context?
Record<string, unknown> Additional context
docsPath?
string Documentation path
Returns
FunctionEncodingError
Overrides
AbiEncodingError.constructor

Properties

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

Methods

getErrorChain()
getErrorChain(): string
Defined in: src/primitives/errors/AbstractError.ts:94 Get full error chain as string for logging
Returns
string
Inherited from
AbiEncodingError.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
AbiEncodingError.toJSON

FunctionInvalidSelectorError

Defined in: src/primitives/Abi/function/errors.js:56 Error thrown when function selector doesn’t match

Extends

  • AbiInvalidSelectorError

Constructors

Constructor
new FunctionInvalidSelectorError(message, options): FunctionInvalidSelectorError
Defined in: src/primitives/Abi/function/errors.js:67
Parameters
message
string Error message
options
Error options
cause?
Error Original error
code?
string Error code
context?
Record<string, unknown> Additional context
docsPath?
string Documentation path
expected
string Expected selector value
value
unknown Actual selector value
Returns
FunctionInvalidSelectorError
Overrides
AbiInvalidSelectorError.constructor

Properties

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

Type Aliases

ExtractNames

ExtractNames<TAbi> = Extract<TAbi[number], { type: "function"; }>["name"]
Defined in: src/primitives/Abi/function/FunctionType.ts:29 Extract function names from an ABI

Type Parameters

TAbi
TAbi extends readonly ItemType[]

FunctionType

FunctionType<TName, TStateMutability, TInputs, TOutputs> = object
Defined in: src/primitives/Abi/function/FunctionType.ts:13 Function ABI item type

Type Parameters

TName
TName extends string = string Function name
TStateMutability
TStateMutability extends StateMutability = StateMutability State mutability (pure | view | nonpayable | payable)
TInputs
TInputs extends readonly Parameter[] = readonly Parameter[] Input parameters
TOutputs
TOutputs extends readonly Parameter[] = readonly Parameter[] Output parameters

Properties

inputs
inputs: TInputs
Defined in: src/primitives/Abi/function/FunctionType.ts:22
name
name: TName
Defined in: src/primitives/Abi/function/FunctionType.ts:20
outputs
outputs: TOutputs
Defined in: src/primitives/Abi/function/FunctionType.ts:23
stateMutability
stateMutability: TStateMutability
Defined in: src/primitives/Abi/function/FunctionType.ts:21
type
type: "function"
Defined in: src/primitives/Abi/function/FunctionType.ts:19

Get

Get<TAbi, TName> = Extract<TAbi[number], { name: TName; type: "function"; }>
Defined in: src/primitives/Abi/function/FunctionType.ts:37 Get a specific function from an ABI by name

Type Parameters

TAbi
TAbi extends readonly ItemType[]
TName
TName extends string

StateMutability

StateMutability = "pure" | "view" | "nonpayable" | "payable"
Defined in: src/primitives/Abi/function/statemutability.ts:1

Variables

decodeParams()

const decodeParams: <TName, TStateMutability, TInputs, TOutputs>(fn, data) => ParametersToPrimitiveTypes<TInputs> = _decodeParams
Defined in: src/primitives/Abi/function/index.ts:30 Decode function call data (verify selector and decode parameters)

Type Parameters

TName
TName extends string
TStateMutability
TStateMutability extends StateMutability
TInputs
TInputs extends readonly Parameter<AbiType, string, string>[]
TOutputs
TOutputs extends readonly Parameter<AbiType, string, string>[]

Parameters

fn
FunctionType<TName, TStateMutability, TInputs, TOutputs> Function ABI item
data
Uint8Array<ArrayBufferLike> Encoded calldata

Returns

ParametersToPrimitiveTypes<TInputs> Decoded arguments

See

https://voltaire.tevm.sh/primitives/abi

Since

0.0.0

Throws

If data is too short

Throws

If selector doesn’t match

Example


decodeResult()

const decodeResult: <TName, TStateMutability, TInputs, TOutputs>(fn, data) => ParametersToPrimitiveTypes<TOutputs> = _decodeResult
Defined in: src/primitives/Abi/function/index.ts:32 Decode function return values

Type Parameters

TName
TName extends string
TStateMutability
TStateMutability extends StateMutability
TInputs
TInputs extends readonly Parameter<AbiType, string, string>[]
TOutputs
TOutputs extends readonly Parameter<AbiType, string, string>[]

Parameters

fn
FunctionType<TName, TStateMutability, TInputs, TOutputs> Function ABI item
data
Uint8Array<ArrayBufferLike> Encoded return data

Returns

ParametersToPrimitiveTypes<TOutputs> Decoded return values

Example


encodeParams()

const encodeParams: <TName, TStateMutability, TInputs, TOutputs>(fn, args) => Uint8Array<ArrayBufferLike> = _encodeParams
Defined in: src/primitives/Abi/function/index.ts:29 Encode function call data (selector + ABI-encoded parameters)

Type Parameters

TName
TName extends string
TStateMutability
TStateMutability extends StateMutability
TInputs
TInputs extends readonly Parameter<AbiType, string, string>[]
TOutputs
TOutputs extends readonly Parameter<AbiType, string, string>[]

Parameters

fn
FunctionType<TName, TStateMutability, TInputs, TOutputs> Function ABI item
args
ParametersToPrimitiveTypes<TInputs> Function arguments

Returns

Uint8Array<ArrayBufferLike> Encoded calldata (selector + params)

See

https://voltaire.tevm.sh/primitives/abi

Since

0.0.0

Throws

Example


encodeResult()

const encodeResult: <TName, TStateMutability, TInputs, TOutputs>(fn, values) => Uint8Array<ArrayBufferLike> = _encodeResult
Defined in: src/primitives/Abi/function/index.ts:31 Encode function return values

Type Parameters

TName
TName extends string
TStateMutability
TStateMutability extends StateMutability
TInputs
TInputs extends readonly Parameter<AbiType, string, string>[]
TOutputs
TOutputs extends readonly Parameter<AbiType, string, string>[]

Parameters

fn
FunctionType<TName, TStateMutability, TInputs, TOutputs> Function ABI item
values
ParametersToPrimitiveTypes<TOutputs> Return values

Returns

Uint8Array<ArrayBufferLike> Encoded return data

Example


getSelector()

const getSelector: (fn) => Uint8Array
Defined in: src/primitives/Abi/function/index.ts:23

Parameters

fn
any

Returns

Uint8Array

getSignature()

const getSignature: <TName, TStateMutability, TInputs, TOutputs>(fn) => string = _getSignature
Defined in: src/primitives/Abi/function/index.ts:28 Get function signature string (name(type1,type2,…))

Type Parameters

TName
TName extends string
TStateMutability
TStateMutability extends StateMutability
TInputs
TInputs extends readonly Parameter<AbiType, string, string>[]
TOutputs
TOutputs extends readonly Parameter<AbiType, string, string>[]

Parameters

fn
FunctionType<TName, TStateMutability, TInputs, TOutputs> Function ABI item

Returns

string Function signature string

Example

Functions

Function()

Function<TName, TStateMutability, TInputs, TOutputs>(fn): FunctionType<TName, TStateMutability, TInputs, TOutputs>
Defined in: src/primitives/Abi/function/Function.js:38 Factory function for creating/validating Function ABI items Since Function items are plain objects, this mainly serves as a namespace

Type Parameters

TName
TName extends string
TStateMutability
TStateMutability extends StateMutability
TInputs
TInputs extends readonly ParameterType<AbiType, string, string>[]
TOutputs
TOutputs extends readonly ParameterType<AbiType, string, string>[]

Parameters

fn
FunctionType<TName, TStateMutability, TInputs, TOutputs> Function ABI item

Returns

FunctionType<TName, TStateMutability, TInputs, TOutputs> Validated function item

See

https://voltaire.tevm.sh/primitives/abi

Since

0.0.0

Throws

Example


GetSelector()

GetSelector(deps): (fn) => Uint8Array
Defined in: src/primitives/Abi/function/getSelector.js:31 Factory: Get function selector (first 4 bytes of keccak256 hash of signature)

Parameters

deps
Crypto dependencies
keccak256String
(str) => Uint8Array Keccak256 hash function for strings

Returns

Function that computes function selector
(fn): Uint8Array
Parameters
fn
any
Returns
Uint8Array

See

https://voltaire.tevm.sh/primitives/abi

Since

0.0.0

Example

References

DecodeParams

Renames and re-exports decodeParams

DecodeResult

Renames and re-exports decodeResult

Params

Renames and re-exports encodeParams

Result

Renames and re-exports encodeResult

Signature

Renames and re-exports getSignature