forked from TrueCloudLab/frostfs-node
36 lines
1.1 KiB
Go
36 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
|
|
accountingGRPC "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/accounting/grpc"
|
|
"git.frostfs.info/TrueCloudLab/frostfs-node/pkg/morph/client/balance"
|
|
accountingTransportGRPC "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/network/transport/accounting/grpc"
|
|
accountingService "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/accounting"
|
|
accounting "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/accounting/morph"
|
|
)
|
|
|
|
func initAccountingService(ctx context.Context, c *cfg) {
|
|
if c.cfgMorph.client == nil {
|
|
initMorphComponents(ctx, c)
|
|
}
|
|
|
|
balanceMorphWrapper, err := balance.NewFromMorph(c.cfgMorph.client, c.cfgAccounting.scriptHash, 0)
|
|
fatalOnErr(err)
|
|
|
|
server := accountingTransportGRPC.New(
|
|
accountingService.NewSignService(
|
|
&c.key.PrivateKey,
|
|
accountingService.NewResponseService(
|
|
accountingService.NewExecutionService(
|
|
accounting.NewExecutor(balanceMorphWrapper),
|
|
),
|
|
c.respSvc,
|
|
),
|
|
),
|
|
)
|
|
|
|
for _, srv := range c.cfgGRPC.servers {
|
|
accountingGRPC.RegisterAccountingServiceServer(srv, server)
|
|
}
|
|
}
|