forked from TrueCloudLab/frostfs-node
3ef5b0ff9c
Calls to contracts by storage nodes do not lead to the accumulation of multisignatures in the contract memory, so the call cost can always be accurately calculated in advance without additional fee. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
44 lines
1.2 KiB
Go
44 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
accountingGRPC "github.com/nspcc-dev/neofs-api-go/v2/accounting/grpc"
|
|
"github.com/nspcc-dev/neofs-node/pkg/morph/client"
|
|
"github.com/nspcc-dev/neofs-node/pkg/morph/client/balance"
|
|
"github.com/nspcc-dev/neofs-node/pkg/morph/client/balance/wrapper"
|
|
accountingTransportGRPC "github.com/nspcc-dev/neofs-node/pkg/network/transport/accounting/grpc"
|
|
accountingService "github.com/nspcc-dev/neofs-node/pkg/services/accounting"
|
|
accounting "github.com/nspcc-dev/neofs-node/pkg/services/accounting/morph"
|
|
)
|
|
|
|
func initAccountingService(c *cfg) {
|
|
if c.cfgMorph.client == nil {
|
|
initMorphComponents(c)
|
|
}
|
|
|
|
staticClient, err := client.NewStatic(
|
|
c.cfgMorph.client,
|
|
c.cfgAccounting.scriptHash,
|
|
0,
|
|
)
|
|
fatalOnErr(err)
|
|
|
|
balanceClient, err := balance.New(staticClient)
|
|
fatalOnErr(err)
|
|
|
|
balanceMorphWrapper, err := wrapper.New(balanceClient)
|
|
fatalOnErr(err)
|
|
|
|
accountingGRPC.RegisterAccountingServiceServer(c.cfgGRPC.server,
|
|
accountingTransportGRPC.New(
|
|
accountingService.NewSignService(
|
|
c.key,
|
|
accountingService.NewResponseService(
|
|
accountingService.NewExecutionService(
|
|
accounting.NewExecutor(balanceMorphWrapper),
|
|
),
|
|
c.respSvc,
|
|
),
|
|
),
|
|
),
|
|
)
|
|
}
|