From 2434bec6ab973ef022e4303cc6ed570cabeac854 Mon Sep 17 00:00:00 2001 From: Jonathan Oppenheimer Date: Mon, 9 Mar 2026 11:34:09 -0400 Subject: [PATCH] chore: export for eth_callDetailed --- internal/ethapi/api.libevm.go | 8 ++++++++ libevm/ethapi/ethapi.go | 20 +++++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/internal/ethapi/api.libevm.go b/internal/ethapi/api.libevm.go index 3366bab3260e..4f709d406d2d 100644 --- a/internal/ethapi/api.libevm.go +++ b/internal/ethapi/api.libevm.go @@ -33,3 +33,11 @@ func NewRPCTransaction(tx *types.Transaction, blockHash common.Hash, blockNumber func MarshalReceipt(r *types.Receipt, blockHash common.Hash, blockNumber uint64, signer types.Signer, tx *types.Transaction, txIndex int) map[string]any { return marshalReceipt(r, blockHash, blockNumber, signer, tx, txIndex) } + +// RevertError exports the [revertError] type. +type RevertError = revertError + +// NewRevertError exports the [newRevertError] constructor. +func NewRevertError(revert []byte) *RevertError { + return newRevertError(revert) +} diff --git a/libevm/ethapi/ethapi.go b/libevm/ethapi/ethapi.go index 6e143f0b4672..3072d6208bb6 100644 --- a/libevm/ethapi/ethapi.go +++ b/libevm/ethapi/ethapi.go @@ -18,12 +18,16 @@ package ethapi import ( + "context" "math/big" + "time" "github.com/ava-labs/libevm/common" + "github.com/ava-labs/libevm/core" "github.com/ava-labs/libevm/core/types" "github.com/ava-labs/libevm/internal/ethapi" "github.com/ava-labs/libevm/params" + "github.com/ava-labs/libevm/rpc" ) // Type aliases required by constructors. @@ -49,7 +53,11 @@ type ( // Type aliases for types used as arguments or responses to the APIs. type ( - RPCTransaction = ethapi.RPCTransaction + RPCTransaction = ethapi.RPCTransaction + TransactionArgs = ethapi.TransactionArgs + StateOverride = ethapi.StateOverride + BlockOverrides = ethapi.BlockOverrides + RevertError = ethapi.RevertError ) // NewEthereumAPI is identical to [ethapi.NewEthereumAPI]. @@ -91,3 +99,13 @@ func NewRPCTransaction(tx *types.Transaction, blockHash common.Hash, blockNumber func MarshalReceipt(r *types.Receipt, blockHash common.Hash, blockNumber uint64, signer types.Signer, tx *types.Transaction, txIndex int) map[string]any { return ethapi.MarshalReceipt(r, blockHash, blockNumber, signer, tx, txIndex) } + +// DoCall is identical to [ethapi.DoCall]. +func DoCall(ctx context.Context, b Backend, args TransactionArgs, blockNrOrHash rpc.BlockNumberOrHash, overrides *StateOverride, blockOverrides *BlockOverrides, timeout time.Duration, globalGasCap uint64) (*core.ExecutionResult, error) { + return ethapi.DoCall(ctx, b, args, blockNrOrHash, overrides, blockOverrides, timeout, globalGasCap) +} + +// NewRevertError is identical to [ethapi.NewRevertError]. +func NewRevertError(revert []byte) *RevertError { + return ethapi.NewRevertError(revert) +}