indexer

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jul 10, 2023 License: GPL-3.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	FlagVersion = &cli.BoolFlag{
		Name:  "version",
		Usage: "Version",
	}

	FlagListen = &cli.StringFlag{
		Name:  "listen",
		Usage: "listen",
		Value: "127.0.0.1:2052",
	}

	FlagGrpcListen = &cli.StringFlag{
		Name:  "grpc.listen",
		Usage: "grpc.listen",
		Value: "127.0.0.1:2053",
	}

	FlagChain = &cli.StringFlag{
		Name:  "chain",
		Usage: "Chain",
		Value: "",
	}

	FlagEntryPoint = &cli.StringFlag{
		Name:  "entrypoint",
		Usage: "Entrypoint contract",
		Value: "0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789",
	}

	FlagBackendUrl = &cli.StringFlag{
		Name:  "backend",
		Usage: "Backend chain rpc provider url",
		Value: "",
	}

	FlagDbPrefix = &cli.StringFlag{
		Name:  "db.prefix",
		Usage: "Backing database prefix, default: same value with --chain",
		Value: "",
	}

	FlagDbEngin = &cli.StringFlag{
		Name:  "db.engin",
		Usage: "Backing database implementation to use ('memory' or 'redis' or 'pebble')",
		Value: "memory",
	}

	FlagDbDataSource = &cli.StringFlag{
		Name:  "db.ds",
		Usage: "mysql://user:passwd@hostname:port/databasename, redis://passwd@host:port",
		Value: "",
	}

	FlagEthLogsStartBlock = &cli.Int64Flag{
		Name:  "block.start",
		Usage: string(usage),
		Value: 0,
	}

	FlagEthLogsBlockRange = &cli.Int64Flag{
		Name:  "block.range",
		Usage: "eth_getLogs block range",
		Value: 1000,
	}
)
View Source
var (
	DbKeyStartBlock = dbKeyPrefix + "start-block"
)
View Source
var (
	DefaultStartBlocks = map[string]int64{
		"ethereum":         17066994,
		"ethereum-goerli":  8812127,
		"ethereum-sepolia": 3296058,

		"polygon":        41402415,
		"polygon-mumbai": 34239265,

		"optimism":        93335977,
		"optimism-goerli": 10442160,

		"arbitrum":        79305493,
		"arbitrum-nova":   8945015,
		"arbitrum-goerli": 17068300,
	}
)
View Source
var (
	LogDescriptor = "0x49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f"
)

Functions

func DbKey

func DbKey(key string) string

func DbKeyUserOp

func DbKeyUserOp(op string) string

func NewDb

func NewDb(engin, dataSource string) database.KVStore

func Run

func Run(cfg *Config) error

Types

type Backend

type Backend struct {
	EntryPoints []common.Address

	PullingInterval time.Duration
	// contains filtered or unexported fields
}

func NewBackend

func NewBackend(cfg *Config) *Backend

func (*Backend) CallAndSave

func (b *Backend) CallAndSave(fromBlock, toBlock int64) error

func (*Backend) LatestBlockNumber

func (b *Backend) LatestBlockNumber() (uint64, error)

func (*Backend) Run

func (b *Backend) Run() error

func (*Backend) SetNextStartBlock

func (b *Backend) SetNextStartBlock(block int64)

func (*Backend) StartBlock

func (b *Backend) StartBlock() int64

type Config

type Config struct {
	RpcListen      string
	GrpcListen     string
	EntryPoint     string
	BackendUrl     string
	DbEngin        string
	DbDataSource   string
	StartBlock     int64
	BlockRangeSize int64
}

func ParseConfig

func ParseConfig(ctx *cli.Context) *Config

type GrpcServer

type GrpcServer struct {
	proto.UnimplementedRelayServer
	// contains filtered or unexported fields
}

func NewGrpcServer

func NewGrpcServer(cfg *Config, db database.KVStore) *GrpcServer

func (*GrpcServer) Db

func (s *GrpcServer) Db() database.KVStore

func (*GrpcServer) EntryPoint

func (s *GrpcServer) EntryPoint() string

func (*GrpcServer) Relay

func (s *GrpcServer) Relay(ctx context.Context, request *proto.Request) (*proto.Response, error)

func (*GrpcServer) Run

func (s *GrpcServer) Run() error

type Rpc

type Rpc interface {
	Db() database.KVStore
	EntryPoint() string
}

type Server

type Server struct {
	// contains filtered or unexported fields
}

func NewServer

func NewServer(cfg *Config, db database.KVStore) *Server

func (*Server) Db

func (s *Server) Db() database.KVStore

func (*Server) EntryPoint

func (s *Server) EntryPoint() string

func (*Server) Run

func (s *Server) Run() error

Jump to

Keyboard shortcuts

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