From 6804c3c0f63b79080e18f4c7c42b70d62f250afe Mon Sep 17 00:00:00 2001 From: Arran Schlosberg <519948+ARR4N@users.noreply.github.com> Date: Tue, 17 Feb 2026 15:59:18 +0000 Subject: [PATCH] feat: receipt marshalling for RPCs (#262) ## Why this should be merged Allow SAE to provide direct `types.Receipt` access. ## How this works Function aliases. ## How this was tested n/a --- internal/ethapi/api.libevm.go | 5 +++++ libevm/ethapi/ethapi.go | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/internal/ethapi/api.libevm.go b/internal/ethapi/api.libevm.go index 36be0d099a..3366bab326 100644 --- a/internal/ethapi/api.libevm.go +++ b/internal/ethapi/api.libevm.go @@ -28,3 +28,8 @@ import ( func NewRPCTransaction(tx *types.Transaction, blockHash common.Hash, blockNumber uint64, blockTime uint64, index uint64, baseFee *big.Int, config *params.ChainConfig) *RPCTransaction { return newRPCTransaction(tx, blockHash, blockNumber, blockTime, index, baseFee, config) } + +// MarshalReceipt exports the [marshalReceipt] function. +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) +} diff --git a/libevm/ethapi/ethapi.go b/libevm/ethapi/ethapi.go index 99876d8ecf..6e143f0b46 100644 --- a/libevm/ethapi/ethapi.go +++ b/libevm/ethapi/ethapi.go @@ -86,3 +86,8 @@ func NewRPCPendingTransaction(tx *types.Transaction, current *types.Header, conf func NewRPCTransaction(tx *types.Transaction, blockHash common.Hash, blockNumber uint64, blockTime uint64, index uint64, baseFee *big.Int, config *params.ChainConfig) *RPCTransaction { return ethapi.NewRPCTransaction(tx, blockHash, blockNumber, blockTime, index, baseFee, config) } + +// MarshalReceipt is identical to [ethapi.MarshalReceipt]. +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) +}