github.com/prysmaticlabs/prysm@v1.4.4/beacon-chain/rpc/eth/v1/beacon/server.go (about) 1 // Package beaconv1 defines a gRPC beacon service implementation, 2 // following the official API standards https://ethereum.github.io/eth2.0-APIs/#/. 3 // This package includes the beacon and config endpoints. 4 package beacon 5 6 import ( 7 "github.com/prysmaticlabs/prysm/beacon-chain/blockchain" 8 blockfeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/block" 9 "github.com/prysmaticlabs/prysm/beacon-chain/db" 10 "github.com/prysmaticlabs/prysm/beacon-chain/operations/attestations" 11 "github.com/prysmaticlabs/prysm/beacon-chain/operations/slashings" 12 "github.com/prysmaticlabs/prysm/beacon-chain/operations/voluntaryexits" 13 "github.com/prysmaticlabs/prysm/beacon-chain/p2p" 14 "github.com/prysmaticlabs/prysm/beacon-chain/rpc/statefetcher" 15 "github.com/prysmaticlabs/prysm/beacon-chain/state/stategen" 16 ) 17 18 // Server defines a server implementation of the gRPC Beacon Chain service, 19 // providing RPC endpoints to access data relevant to the Ethereum Beacon Chain. 20 type Server struct { 21 BeaconDB db.ReadOnlyDatabase 22 ChainInfoFetcher blockchain.ChainInfoFetcher 23 GenesisTimeFetcher blockchain.TimeFetcher 24 BlockReceiver blockchain.BlockReceiver 25 BlockNotifier blockfeed.Notifier 26 Broadcaster p2p.Broadcaster 27 AttestationsPool attestations.Pool 28 SlashingsPool slashings.PoolManager 29 VoluntaryExitsPool voluntaryexits.PoolManager 30 StateGenService stategen.StateManager 31 StateFetcher statefetcher.Fetcher 32 }