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

primitives/ContractResult

Classes

ContractRevertError

Defined in: src/primitives/ContractResult/errors.ts:7 Error thrown when unwrapping a failed contract result

Extends

Constructors

Constructor
new ContractRevertError(message, revertReason): ContractRevertError
Defined in: src/primitives/ContractResult/errors.ts:10
Parameters
message
string
revertReason
RevertReasonType
Returns
ContractRevertError
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
'INVALID_FORMAT', 'INVALID_LENGTH'
Inherited from
PrimitiveError.code
context?
optional context: Record<string, unknown>
Defined in: src/primitives/errors/AbstractError.ts:45 Additional context metadata for debugging
Example
{ value: '0x123', expected: '20 bytes' }
Inherited from
PrimitiveError.context
docsPath?
optional docsPath: string
Defined in: src/primitives/errors/AbstractError.ts:51 Path to documentation for this error
Example
'/primitives/address/from-hex#error-handling'
Inherited from
PrimitiveError.docsPath
revertReason
readonly revertReason: RevertReasonType
Defined in: src/primitives/ContractResult/errors.ts:8

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

Type Aliases

ContractResultType

ContractResultType = SuccessResult | FailureResult
Defined in: src/primitives/ContractResult/ContractResultType.ts:31 ContractResult union type

FailureResult

FailureResult = object
Defined in: src/primitives/ContractResult/ContractResultType.ts:23 Failed contract call

Properties

revertReason
readonly revertReason: RevertReasonType
Defined in: src/primitives/ContractResult/ContractResultType.ts:25
success
readonly success: false
Defined in: src/primitives/ContractResult/ContractResultType.ts:24

SuccessResult

SuccessResult = object
Defined in: src/primitives/ContractResult/ContractResultType.ts:15 Successful contract call

Properties

data
readonly data: ReturnDataType
Defined in: src/primitives/ContractResult/ContractResultType.ts:17
success
readonly success: true
Defined in: src/primitives/ContractResult/ContractResultType.ts:16

Functions

_failure()

_failure(revertReason): FailureResult
Defined in: src/primitives/ContractResult/failure.js:12 Create failed ContractResult

Parameters

revertReason
RevertReasonType Revert reason

Returns

FailureResult Failure result

Example

const result = ContractResult.failure(revertReason);

_from()

_from(isSuccess, data): ContractResultType
Defined in: src/primitives/ContractResult/from.js:19 Create ContractResult from return data and success flag

Parameters

isSuccess
boolean Whether call succeeded
data
Return data string | Uint8Array<ArrayBufferLike> | ReturnDataType

Returns

ContractResultType Contract result

Example

const result = ContractResult.from(true, "0x0000...");
const failResult = ContractResult.from(false, "0x08c379a0...");

_isFailure()

_isFailure(result): result is FailureResult
Defined in: src/primitives/ContractResult/isFailure.js:14 Check if result is failure

Parameters

result
ContractResultType Contract result

Returns

result is FailureResult True if failure

Example

if (ContractResult.isFailure(result)) {
  console.log(result.revertReason);
}

_isSuccess()

_isSuccess(result): result is SuccessResult
Defined in: src/primitives/ContractResult/isSuccess.js:14 Check if result is successful

Parameters

result
ContractResultType Contract result

Returns

result is SuccessResult True if success

Example

if (ContractResult.isSuccess(result)) {
  console.log(result.data);
}

_success()

_success(data): SuccessResult
Defined in: src/primitives/ContractResult/success.js:12 Create successful ContractResult

Parameters

data
ReturnDataType Return data

Returns

SuccessResult Success result

Example

const result = ContractResult.success(returnData);

_unwrap()

_unwrap(result): ReturnDataType
Defined in: src/primitives/ContractResult/unwrap.js:20 Unwrap successful result or throw on failure

Parameters

result
ContractResultType Contract result

Returns

ReturnDataType Return data

Throws

If result is failure

Example

try {
  const data = ContractResult.unwrap(result);
} catch (error) {
  console.log(error.revertReason);
}

_unwrapOr()

_unwrapOr(result, defaultValue): ReturnDataType
Defined in: src/primitives/ContractResult/unwrapOr.js:13 Unwrap result or return default value on failure

Parameters

result
ContractResultType Contract result
defaultValue
ReturnDataType Default value

Returns

ReturnDataType Return data or default

Example

const data = ContractResult.unwrapOr(result, ReturnData.fromHex("0x"));

failure()

failure(revertReason): FailureResult
Defined in: src/primitives/ContractResult/index.ts:43 Create failed ContractResult

Parameters

revertReason
RevertReasonType

Returns

FailureResult

from()

from(isSuccess, data): ContractResultType
Defined in: src/primitives/ContractResult/index.ts:26 Create ContractResult from return data and success flag

Parameters

isSuccess
boolean
data
string | Uint8Array<ArrayBufferLike> | ReturnDataType

Returns

ContractResultType

isFailure()

isFailure(result): result is FailureResult
Defined in: src/primitives/ContractResult/index.ts:57 Check if result is failure (type guard)

Parameters

result
ContractResultType

Returns

result is FailureResult

isSuccess()

isSuccess(result): result is SuccessResult
Defined in: src/primitives/ContractResult/index.ts:50 Check if result is successful (type guard)

Parameters

result
ContractResultType

Returns

result is SuccessResult

success()

success(data): SuccessResult
Defined in: src/primitives/ContractResult/index.ts:36 Create successful ContractResult

Parameters

data
ReturnDataType

Returns

SuccessResult

unwrap()

unwrap(result): ReturnDataType
Defined in: src/primitives/ContractResult/index.ts:64 Unwrap successful result or throw on failure

Parameters

result
ContractResultType

Returns

ReturnDataType

unwrapOr()

unwrapOr(result, defaultValue): ReturnDataType
Defined in: src/primitives/ContractResult/index.ts:71 Unwrap result or return default value on failure

Parameters

result
ContractResultType
defaultValue
ReturnDataType

Returns

ReturnDataType