vanguardchain

package
v0.1.0-beta.1 Latest Latest
Warning

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

Go to latest
Published: Sep 9, 2021 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ConsensusInfoMocks []*eth.MinimalConsensusInfo
	PendingBlockMocks  []*eth.BeaconBlock
)

Functions

func GRPCFunc

func GRPCFunc(endpoint string) (client.VanguardClient, error)

func SetupInProcServer

func SetupInProcServer(t *testing.T) (*rpc.Server, *events.MockBackend)

SetupInProcServer prepares in process server with defined api. Here, this method mocks vanguard client's endpoint as well as backend. Use in-memory to mock the

Types

type DIALGRPCFn

type DIALGRPCFn func(endpoint string) (client.VanguardClient, error)

type Service

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

Service

  • maintains connection with vanguard chain
  • handles vanguard subscription for consensus info.
  • sends new consensus info to all pandora subscribers.
  • maintains consensusInfoDB to store the coming consensus info from vanguard.

func NewService

func NewService(
	ctx context.Context,
	vanGRPCEndpoint string,
	db db.Database,
	cache cache.VanguardShardCache,
	dialGRPCFn DIALGRPCFn,
) (*Service, error)

NewService creates new service with vanguard endpoint, vanguard namespace and consensusInfoDB

func SetupVanguardSvc

func SetupVanguardSvc(
	ctx context.Context,
	t *testing.T,
	dialGRPCFn DIALGRPCFn,
) (*Service, *mocks)

SetupVanguardSvc creates vanguard client service with mocked database

func (*Service) OnNewConsensusInfo

func (s *Service) OnNewConsensusInfo(ctx context.Context, consensusInfo *types.MinimalEpochConsensusInfo) error

OnNewConsensusInfo :

  • sends the new consensus info to all subscribed pandora clients
  • store consensus info into cache as well as into kv consensusInfoDB

func (*Service) OnNewPendingVanguardBlock

func (s *Service) OnNewPendingVanguardBlock(ctx context.Context, block *eth.BeaconBlock) error

OnNewPendingVanguardBlock

func (*Service) Start

func (s *Service) Start()

Start a consensus info fetcher service's main event loop.

func (*Service) Status

func (s *Service) Status() error

func (*Service) Stop

func (s *Service) Stop() error

func (*Service) SubscribeMinConsensusInfoEvent

func (s *Service) SubscribeMinConsensusInfoEvent(ch chan<- *types.MinimalEpochConsensusInfo) event.Subscription

SubscribeMinConsensusInfoEvent registers a subscription of ChainHeadEvent.

func (*Service) SubscribeShardInfoEvent

func (s *Service) SubscribeShardInfoEvent(ch chan<- *types.VanguardShardInfo) event.Subscription

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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