@tevm/voltaire / primitives/Abi / Function
Function
Classes
FunctionDecodingError
Defined in: src/primitives/Abi/function/errors.js:33 Error thrown when decoding function data failsExtends
AbiDecodingError
Constructors
Constructor
new FunctionDecodingError(Defined in: src/primitives/Abi/function/errors.js:42message,options?):FunctionDecodingError
Parameters
message
string
Error message
options?
Error optionscause?
Error
Original error
code?
string
Error code
context?
Record<string, unknown>
Additional context
docsPath?
string
Documentation path
Returns
FunctionDecodingError
Overrides
AbiDecodingError.constructor
Properties
cause?
Defined in: src/primitives/errors/AbstractError.ts:56 Root cause of this error (for error chaining)optionalcause:Error
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?
Defined in: src/primitives/errors/AbstractError.ts:45 Additional context metadata for debuggingoptionalcontext:Record<string,unknown>
Example
Inherited from
AbiDecodingError.context
docsPath?
Defined in: src/primitives/errors/AbstractError.ts:51 Path to documentation for this erroroptionaldocsPath:string
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():Defined in: src/primitives/errors/AbstractError.ts:110 Serialize error to JSON for logging/telemetryRecord<string,unknown>
Returns
Record<string, unknown>
Inherited from
AbiDecodingError.toJSON
FunctionEncodingError
Defined in: src/primitives/Abi/function/errors.js:10 Error thrown when encoding function data failsExtends
AbiEncodingError
Constructors
Constructor
new FunctionEncodingError(Defined in: src/primitives/Abi/function/errors.js:19message,options?):FunctionEncodingError
Parameters
message
string
Error message
options?
Error optionscause?
Error
Original error
code?
string
Error code
context?
Record<string, unknown>
Additional context
docsPath?
string
Documentation path
Returns
FunctionEncodingError
Overrides
AbiEncodingError.constructor
Properties
cause?
Defined in: src/primitives/errors/AbstractError.ts:56 Root cause of this error (for error chaining)optionalcause:Error
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?
Defined in: src/primitives/errors/AbstractError.ts:45 Additional context metadata for debuggingoptionalcontext:Record<string,unknown>
Example
Inherited from
AbiEncodingError.context
docsPath?
Defined in: src/primitives/errors/AbstractError.ts:51 Path to documentation for this erroroptionaldocsPath:string
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():Defined in: src/primitives/errors/AbstractError.ts:110 Serialize error to JSON for logging/telemetryRecord<string,unknown>
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 matchExtends
AbiInvalidSelectorError
Constructors
Constructor
new FunctionInvalidSelectorError(Defined in: src/primitives/Abi/function/errors.js:67message,options):FunctionInvalidSelectorError
Parameters
message
string
Error message
options
Error optionscause?
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?
Defined in: src/primitives/errors/AbstractError.ts:56 Root cause of this error (for error chaining)optionalcause:Error
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?
Defined in: src/primitives/errors/AbstractError.ts:45 Additional context metadata for debuggingoptionalcontext:Record<string,unknown>
Example
Inherited from
AbiInvalidSelectorError.context
docsPath?
Defined in: src/primitives/errors/AbstractError.ts:51 Path to documentation for this erroroptionaldocsPath:string
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():Defined in: src/primitives/errors/AbstractError.ts:110 Serialize error to JSON for logging/telemetryRecord<string,unknown>
Returns
Record<string, unknown>
Inherited from
AbiInvalidSelectorError.toJSON
Type Aliases
ExtractNames
ExtractNames<Defined in: src/primitives/Abi/function/FunctionType.ts:29 Extract function names from an ABITAbi> =Extract<TAbi[number], {type:"function"; }>["name"]
Type Parameters
TAbi
TAbi extends readonly ItemType[]
FunctionType
FunctionType<Defined in: src/primitives/Abi/function/FunctionType.ts:13 Function ABI item typeTName,TStateMutability,TInputs,TOutputs> =object
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<Defined in: src/primitives/Abi/function/FunctionType.ts:37 Get a specific function from an ABI by nameTAbi,TName> =Extract<TAbi[number], {name:TName;type:"function"; }>
Type Parameters
TAbi
TAbi extends readonly ItemType[]
TName
TName extends string
StateMutability
StateMutability =Defined in: src/primitives/Abi/function/statemutability.ts:1"pure"|"view"|"nonpayable"|"payable"
Variables
decodeParams()
Defined in: src/primitives/Abi/function/index.ts:30 Decode function call data (verify selector and decode parameters)constdecodeParams: <TName,TStateMutability,TInputs,TOutputs>(fn,data) =>ParametersToPrimitiveTypes<TInputs> =_decodeParams
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/abiSince
0.0.0Throws
If data is too shortThrows
If selector doesn’t matchExample
decodeResult()
Defined in: src/primitives/Abi/function/index.ts:32 Decode function return valuesconstdecodeResult: <TName,TStateMutability,TInputs,TOutputs>(fn,data) =>ParametersToPrimitiveTypes<TOutputs> =_decodeResult
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()
Defined in: src/primitives/Abi/function/index.ts:29 Encode function call data (selector + ABI-encoded parameters)constencodeParams: <TName,TStateMutability,TInputs,TOutputs>(fn,args) =>Uint8Array<ArrayBufferLike> =_encodeParams
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/abiSince
0.0.0Throws
Example
encodeResult()
Defined in: src/primitives/Abi/function/index.ts:31 Encode function return valuesconstencodeResult: <TName,TStateMutability,TInputs,TOutputs>(fn,values) =>Uint8Array<ArrayBufferLike> =_encodeResult
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()
Defined in: src/primitives/Abi/function/index.ts:23constgetSelector: (fn) =>Uint8Array
Parameters
fn
any
Returns
Uint8Array
getSignature()
Defined in: src/primitives/Abi/function/index.ts:28 Get function signature string (name(type1,type2,…))constgetSignature: <TName,TStateMutability,TInputs,TOutputs>(fn) =>string=_getSignature
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<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 namespaceTName,TStateMutability,TInputs,TOutputs>(fn):FunctionType<TName,TStateMutability,TInputs,TOutputs>
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/abiSince
0.0.0Throws
Example
GetSelector()
GetSelector(Defined in: src/primitives/Abi/function/getSelector.js:31 Factory: Get function selector (first 4 bytes of keccak256 hash of signature)deps): (fn) =>Uint8Array
Parameters
deps
Crypto dependencieskeccak256String
(str) => Uint8Array
Keccak256 hash function for strings
Returns
Function that computes function selector(fn):Uint8Array
Parameters
fn
any
Returns
Uint8Array

