f4b4cd3633
This is done with the intention to add new {Get,Subscribe}ActorEvents in a future release (i.e. soon!) with both decoded values (dag-json represented) and simplified (no flags or codec). But because this comes with some trade-offs wrt fidelity of information (e.g. likely needing to drop events with badly encoded values, and not retaining original codec), we need to also have a Raw form of these APIs for consumers that want to take on the burden of consuming them as they are.
206 lines
7.8 KiB
Go
206 lines
7.8 KiB
Go
package full
|
|
|
|
import (
|
|
"context"
|
|
"errors"
|
|
|
|
"github.com/ipfs/go-cid"
|
|
|
|
"github.com/filecoin-project/go-address"
|
|
"github.com/filecoin-project/go-jsonrpc"
|
|
"github.com/filecoin-project/go-state-types/abi"
|
|
|
|
"github.com/filecoin-project/lotus/api"
|
|
"github.com/filecoin-project/lotus/chain/types"
|
|
"github.com/filecoin-project/lotus/chain/types/ethtypes"
|
|
)
|
|
|
|
var ErrModuleDisabled = errors.New("module disabled, enable with Fevm.EnableEthRPC / LOTUS_FEVM_ENABLEETHRPC")
|
|
|
|
type EthModuleDummy struct{}
|
|
|
|
func (e *EthModuleDummy) EthAddressToFilecoinAddress(ctx context.Context, ethAddress ethtypes.EthAddress) (address.Address, error) {
|
|
return address.Undef, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthGetMessageCidByTransactionHash(ctx context.Context, txHash *ethtypes.EthHash) (*cid.Cid, error) {
|
|
return nil, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthGetTransactionHashByCid(ctx context.Context, cid cid.Cid) (*ethtypes.EthHash, error) {
|
|
return nil, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthBlockNumber(ctx context.Context) (ethtypes.EthUint64, error) {
|
|
return 0, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthAccounts(ctx context.Context) ([]ethtypes.EthAddress, error) {
|
|
return nil, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthGetBlockTransactionCountByNumber(ctx context.Context, blkNum ethtypes.EthUint64) (ethtypes.EthUint64, error) {
|
|
return 0, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthGetBlockTransactionCountByHash(ctx context.Context, blkHash ethtypes.EthHash) (ethtypes.EthUint64, error) {
|
|
return 0, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthGetBlockByHash(ctx context.Context, blkHash ethtypes.EthHash, fullTxInfo bool) (ethtypes.EthBlock, error) {
|
|
return ethtypes.EthBlock{}, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthGetBlockByNumber(ctx context.Context, blkNum string, fullTxInfo bool) (ethtypes.EthBlock, error) {
|
|
return ethtypes.EthBlock{}, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthGetTransactionByHash(ctx context.Context, txHash *ethtypes.EthHash) (*ethtypes.EthTx, error) {
|
|
return nil, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthGetTransactionByHashLimited(ctx context.Context, txHash *ethtypes.EthHash, limit abi.ChainEpoch) (*ethtypes.EthTx, error) {
|
|
return nil, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthGetTransactionCount(ctx context.Context, sender ethtypes.EthAddress, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthUint64, error) {
|
|
return 0, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthGetTransactionReceipt(ctx context.Context, txHash ethtypes.EthHash) (*api.EthTxReceipt, error) {
|
|
return nil, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthGetTransactionReceiptLimited(ctx context.Context, txHash ethtypes.EthHash, limit abi.ChainEpoch) (*api.EthTxReceipt, error) {
|
|
return nil, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error) {
|
|
return ethtypes.EthTx{}, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error) {
|
|
return ethtypes.EthTx{}, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthGetCode(ctx context.Context, address ethtypes.EthAddress, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error) {
|
|
return nil, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthGetStorageAt(ctx context.Context, address ethtypes.EthAddress, position ethtypes.EthBytes, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error) {
|
|
return nil, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthGetBalance(ctx context.Context, address ethtypes.EthAddress, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBigInt, error) {
|
|
return ethtypes.EthBigIntZero, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthFeeHistory(ctx context.Context, p jsonrpc.RawParams) (ethtypes.EthFeeHistory, error) {
|
|
return ethtypes.EthFeeHistory{}, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthChainId(ctx context.Context) (ethtypes.EthUint64, error) {
|
|
return 0, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthSyncing(ctx context.Context) (ethtypes.EthSyncingResult, error) {
|
|
return ethtypes.EthSyncingResult{}, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) NetVersion(ctx context.Context) (string, error) {
|
|
return "", ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) NetListening(ctx context.Context) (bool, error) {
|
|
return false, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthProtocolVersion(ctx context.Context) (ethtypes.EthUint64, error) {
|
|
return 0, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthGasPrice(ctx context.Context) (ethtypes.EthBigInt, error) {
|
|
return ethtypes.EthBigIntZero, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthEstimateGas(ctx context.Context, p jsonrpc.RawParams) (ethtypes.EthUint64, error) {
|
|
return 0, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthCall(ctx context.Context, tx ethtypes.EthCall, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error) {
|
|
return nil, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthMaxPriorityFeePerGas(ctx context.Context) (ethtypes.EthBigInt, error) {
|
|
return ethtypes.EthBigIntZero, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthSendRawTransaction(ctx context.Context, rawTx ethtypes.EthBytes) (ethtypes.EthHash, error) {
|
|
return ethtypes.EthHash{}, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) Web3ClientVersion(ctx context.Context) (string, error) {
|
|
return "", ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthGetLogs(ctx context.Context, filter *ethtypes.EthFilterSpec) (*ethtypes.EthFilterResult, error) {
|
|
return ðtypes.EthFilterResult{}, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthGetFilterChanges(ctx context.Context, id ethtypes.EthFilterID) (*ethtypes.EthFilterResult, error) {
|
|
return ðtypes.EthFilterResult{}, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthGetFilterLogs(ctx context.Context, id ethtypes.EthFilterID) (*ethtypes.EthFilterResult, error) {
|
|
return ðtypes.EthFilterResult{}, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthNewFilter(ctx context.Context, filter *ethtypes.EthFilterSpec) (ethtypes.EthFilterID, error) {
|
|
return ethtypes.EthFilterID{}, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthNewBlockFilter(ctx context.Context) (ethtypes.EthFilterID, error) {
|
|
return ethtypes.EthFilterID{}, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthNewPendingTransactionFilter(ctx context.Context) (ethtypes.EthFilterID, error) {
|
|
return ethtypes.EthFilterID{}, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthUninstallFilter(ctx context.Context, id ethtypes.EthFilterID) (bool, error) {
|
|
return false, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthSubscribe(ctx context.Context, params jsonrpc.RawParams) (ethtypes.EthSubscriptionID, error) {
|
|
return ethtypes.EthSubscriptionID{}, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthUnsubscribe(ctx context.Context, id ethtypes.EthSubscriptionID) (bool, error) {
|
|
return false, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthTraceBlock(ctx context.Context, blkNum string) ([]*ethtypes.EthTraceBlock, error) {
|
|
return nil, ErrModuleDisabled
|
|
}
|
|
|
|
func (e *EthModuleDummy) EthTraceReplayBlockTransactions(ctx context.Context, blkNum string, traceTypes []string) ([]*ethtypes.EthTraceReplayBlockTransaction, error) {
|
|
return nil, ErrModuleDisabled
|
|
}
|
|
|
|
var _ EthModuleAPI = &EthModuleDummy{}
|
|
var _ EthEventAPI = &EthModuleDummy{}
|
|
|
|
var ErrActorEventModuleDisabled = errors.New("module disabled, enable with Fevm.EnableActorEventsAPI")
|
|
|
|
type ActorEventDummy struct{}
|
|
|
|
func (a *ActorEventDummy) GetActorEventsRaw(ctx context.Context, filter *types.ActorEventFilter) ([]*types.ActorEvent, error) {
|
|
return nil, ErrActorEventModuleDisabled
|
|
}
|
|
|
|
func (a *ActorEventDummy) SubscribeActorEventsRaw(ctx context.Context, filter *types.ActorEventFilter) (<-chan *types.ActorEvent, error) {
|
|
return nil, ErrActorEventModuleDisabled
|
|
}
|
|
|
|
var _ ActorEventAPI = &ActorEventDummy{}
|