From d4d921dcaf389303844e1e19413e969539c9cadd Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Mon, 15 May 2023 11:50:20 +0300 Subject: [PATCH] [#346] adm: fix race in wallet generation Signed-off-by: Evgenii Stratonikov --- cmd/frostfs-adm/internal/modules/morph/generate.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cmd/frostfs-adm/internal/modules/morph/generate.go b/cmd/frostfs-adm/internal/modules/morph/generate.go index 8975a6d7..dd327a4b 100644 --- a/cmd/frostfs-adm/internal/modules/morph/generate.go +++ b/cmd/frostfs-adm/internal/modules/morph/generate.go @@ -101,11 +101,13 @@ func initializeWallets(v *viper.Viper, walletDir string, size int) ([]string, er bftCount := smartcontract.GetDefaultHonestNodeCount(size) for i := range wallets { i := i + ps := make(keys.PublicKeys, len(pubs)) + copy(ps, pubs) errG.Go(func() error { - if err := addMultisigAccount(wallets[i], majCount, committeeAccountName, passwords[i], pubs); err != nil { + if err := addMultisigAccount(wallets[i], majCount, committeeAccountName, passwords[i], ps); err != nil { return fmt.Errorf("can't create committee account: %w", err) } - if err := addMultisigAccount(wallets[i], bftCount, consensusAccountName, passwords[i], pubs); err != nil { + if err := addMultisigAccount(wallets[i], bftCount, consensusAccountName, passwords[i], ps); err != nil { return fmt.Errorf("can't create consentus account: %w", err) } if err := wallets[i].SavePretty(); err != nil {