rpc

package
v1.0.7-mainnet Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 31, 2023 License: MIT Imports: 37 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidLogFilter = errors.Errorf(
		"Filter must provide one of the following: %v, %v, %v",
		"(1) an epoch range through `fromEpoch` and `toEpoch`",
		"(2) a block number range through `fromBlock` and `toBlock`",
		"(3) a set of block hashes through `blockHashes`",
	)

	ErrInvalidLogFilterBlockRange = errors.New(
		"invalid block range (from block larger than to block)",
	)

	ErrInvalidLogFilterEpochRange = errors.New(
		"invalid epoch range (from epoch larger than to epoch)",
	)

	ErrInvalidEthLogFilter = errors.Errorf(
		"Filter must provide one of the following: %v, %v",
		"(1) a block number range through `fromBlock` and `toBlock`",
		"(2) a set of block hashes through `blockHash`",
	)
)

Functions

func ErrExceedLogFilterBlockHashLimit

func ErrExceedLogFilterBlockHashLimit(size int) error

func GetCfxClientFromContext

func GetCfxClientFromContext(ctx context.Context) sdk.ClientOperator

func GetEthClientFromContext

func GetEthClientFromContext(ctx context.Context) *node.Web3goClient

func MustNewEvmSpaceServer

func MustNewEvmSpaceServer(
	router infuraNode.Router, exposedModules []string, option ...EthAPIOption,
) *rpc.Server

MustNewEvmSpaceServer new evm space RPC server by specifying router, and exposed modules. `exposedModules` is a list of API modules to expose via the RPC interface. If the module list is empty, all RPC API endpoints designated public will be exposed.

func MustNewNativeSpaceBridgeServer

func MustNewNativeSpaceBridgeServer(config *CfxBridgeServerConfig) *rpc.Server

func MustNewNativeSpaceServer

func MustNewNativeSpaceServer(
	router infuraNode.Router, gashandler *handler.GasStationHandler,
	exposedModules []string, option ...CfxAPIOption,
) *rpc.Server

MustNewNativeSpaceServer new core space RPC server by specifying router, handler and exposed modules. Argument exposedModules is a list of API modules to expose via the RPC interface. If the module list is empty, all RPC API endpoints designated public will be exposed.

func NormalizeEthLogFilter

func NormalizeEthLogFilter(
	w3c *web3go.Client, flag LogFilterType,
	filter *web3Types.FilterQuery, hardforkBlockNum web3Types.BlockNumber,
) error

func NormalizeLogFilter

func NormalizeLogFilter(cfx sdk.ClientOperator, flag LogFilterType, filter *types.LogFilter) error

func ValidateEthLogFilter

func ValidateEthLogFilter(flag LogFilterType, filter *web3Types.FilterQuery) error

func ValidateLogFilter

func ValidateLogFilter(flag LogFilterType, filter *types.LogFilter) error

Types

type API

type API struct {
	Namespace string      // namespace under which the rpc methods of Service are exposed
	Version   string      // api version
	Service   interface{} // receiver instance which holds the methods
	Public    bool        // indication if the methods must be considered safe for public use
}

API describes the set of methods offered over the RPC interface

type CfxAPIOption

type CfxAPIOption struct {
	StoreHandler  *handler.CfxStoreHandler
	LogApiHandler *handler.CfxLogsApiHandler
	Relayer       *relay.TxnRelayer
}

type CfxBridgeServerConfig

type CfxBridgeServerConfig struct {
	EthNode        string
	CfxNode        string
	ExposedModules []string
	Endpoint       string `default:":32537"`
}

type EthAPIOption

type EthAPIOption struct {
	StoreHandler        *handler.EthStoreHandler
	LogApiHandler       *handler.EthLogsApiHandler
	VirtualFilterClient *vfclient.Client
}

type LogFilterType

type LogFilterType int
const (
	// Log filter types
	LogFilterTypeBlockHash  LogFilterType = 1 << iota // 0001
	LogFilterTypeEpochRange                           // 0010
	LogFilterTypeBlockRange                           // 0100
)

func ParseEthLogFilterType

func ParseEthLogFilterType(filter *web3Types.FilterQuery) (LogFilterType, bool)

func ParseLogFilterType

func ParseLogFilterType(filter *types.LogFilter) (LogFilterType, bool)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL