Skip to content
12 changes: 8 additions & 4 deletions api/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@ func startGrpcServer(
kvExecutor kvdb.KVExecutorInterface,
queryExecutor query.ExecutorInterface,
p2pHostService p2p.Peer2PeerServiceInterface,
blockServices map[int32]coreService.BlockServiceInterface, ownerAccountAddress, nodefilePath string,
blockServices map[int32]coreService.BlockServiceInterface,
nodeRegistrationService coreService.NodeRegistrationServiceInterface,
ownerAccountAddress, nodefilePath string,
logger *log.Logger,
) {

Expand Down Expand Up @@ -78,7 +80,7 @@ func startGrpcServer(
})
// Set GRPC handler for Transactions requests
rpcService.RegisterHostServiceServer(grpcServer, &handler.HostHandler{
Service: service.NewHostService(queryExecutor, p2pHostService, blockServices),
Service: service.NewHostService(queryExecutor, p2pHostService, blockServices, nodeRegistrationService),
})
// Set GRPC handler for account balance requests
rpcService.RegisterAccountBalanceServiceServer(grpcServer, &handler.AccountBalanceHandler{
Expand Down Expand Up @@ -122,11 +124,13 @@ func Start(
kvExecutor kvdb.KVExecutorInterface,
queryExecutor query.ExecutorInterface,
p2pHostService p2p.Peer2PeerServiceInterface,
blockServices map[int32]coreService.BlockServiceInterface, ownerAccountAddress, nodefilePath string,
blockServices map[int32]coreService.BlockServiceInterface,
nodeRegistrationService coreService.NodeRegistrationServiceInterface,
ownerAccountAddress, nodefilePath string,
logger *log.Logger,
) {
startGrpcServer(
grpcPort, kvExecutor, queryExecutor, p2pHostService, blockServices, ownerAccountAddress, nodefilePath, logger,
grpcPort, kvExecutor, queryExecutor, p2pHostService, blockServices, nodeRegistrationService, ownerAccountAddress, nodefilePath, logger,
)
if restPort > 0 { // only start proxy service if apiHTTPPort set with value > 0
go func() {
Expand Down
26 changes: 17 additions & 9 deletions api/service/hostApiService.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,25 @@ type (
}

HostService struct {
Query query.ExecutorInterface
BlockServices map[int32]coreService.BlockServiceInterface
P2pService p2p.Peer2PeerServiceInterface
Query query.ExecutorInterface
P2pService p2p.Peer2PeerServiceInterface
BlockServices map[int32]coreService.BlockServiceInterface
NodeRegistrationService coreService.NodeRegistrationServiceInterface
}
)

var hostServiceInstance *HostService

// NewHostService create a singleton instance of PeerExplorer
func NewHostService(queryExecutor query.ExecutorInterface, p2pService p2p.Peer2PeerServiceInterface,
blockServices map[int32]coreService.BlockServiceInterface) HostServiceInterface {
blockServices map[int32]coreService.BlockServiceInterface,
nodeRegistrationService coreService.NodeRegistrationServiceInterface) HostServiceInterface {
if hostServiceInstance == nil {
hostServiceInstance = &HostService{
Query: queryExecutor,
P2pService: p2pService,
BlockServices: blockServices,
Query: queryExecutor,
P2pService: p2pService,
BlockServices: blockServices,
NodeRegistrationService: nodeRegistrationService,
}
}
return hostServiceInstance
Expand All @@ -48,9 +51,14 @@ func (hs *HostService) GetHostInfo() (*model.HostInfo, error) {
LastBlock: lastBlock,
})
}

scrambledNodes := hs.NodeRegistrationService.GetScrambledNodes()

return &model.HostInfo{
Host: hs.P2pService.GetHostInfo(),
ChainStatuses: chainStatuses,
Host: hs.P2pService.GetHostInfo(),
ChainStatuses: chainStatuses,
ScrambledNodes: scrambledNodes.AddressNodes,
ScrambledNodesHeight: scrambledNodes.BlockHeight,
}, nil
}

Expand Down
107 changes: 54 additions & 53 deletions common/model/block.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading