diff --git a/cmd/neofs-node/netmap.go b/cmd/neofs-node/netmap.go index 038a059d..a23da6a1 100644 --- a/cmd/neofs-node/netmap.go +++ b/cmd/neofs-node/netmap.go @@ -261,14 +261,19 @@ type netInfo struct { netState netmap.State magic interface { - MagicNumber() uint64 + MagicNumber() (uint64, error) } } func (n *netInfo) Dump() (*netmapV2.NetworkInfo, error) { + magic, err := n.magic.MagicNumber() + if err != nil { + return nil, err + } + ni := new(netmapV2.NetworkInfo) ni.SetCurrentEpoch(n.netState.CurrentEpoch()) - ni.SetMagicNumber(n.magic.MagicNumber()) + ni.SetMagicNumber(magic) return ni, nil } diff --git a/pkg/morph/client/client.go b/pkg/morph/client/client.go index f1f04f00..5e0fff3a 100644 --- a/pkg/morph/client/client.go +++ b/pkg/morph/client/client.go @@ -390,22 +390,15 @@ func toStackParameter(value interface{}) (sc.Parameter, error) { // to which the underlying RPC node client is connected. // // Returns 0 in case of connection problems. -func (c *Client) MagicNumber() (res uint64) { +func (c *Client) MagicNumber() (res uint64, err error) { if c.multiClient != nil { - err := c.multiClient.iterateClients(func(c *Client) error { - res = c.MagicNumber() - return nil + return res, c.multiClient.iterateClients(func(c *Client) error { + res, err = c.MagicNumber() + return err }) - if err != nil { - c.logger.Debug("iterate over client failure", - zap.String("error", err.Error()), - ) - } - - return } - return uint64(c.client.GetNetwork()) + return uint64(c.client.GetNetwork()), nil } // BlockCount returns block count of the network