diff --git a/cmd/frostfs-adm/internal/modules/morph/ape/chains/list_user.go b/cmd/frostfs-adm/internal/modules/morph/ape/chains/list_user.go index fbbdb68e..d4d82254 100644 --- a/cmd/frostfs-adm/internal/modules/morph/ape/chains/list_user.go +++ b/cmd/frostfs-adm/internal/modules/morph/ape/chains/list_user.go @@ -180,12 +180,18 @@ func initReaders(cmd *cobra.Command) (*invoker.Invoker, util.Uint160, *ffsidclie commonCmd.ExitOnErr(cmd, "can't get NNS contract state: %w", err) policyHashStr, _ := cmd.Flags().GetString(policyHashFlag) - policyHash, err := helper.NNSResolveHash(inv, nnsCs.Hash, policyHashStr) - commonCmd.ExitOnErr(cmd, "can't resolve NNS policy contract: %w", err) + policyHash, err := util.Uint160DecodeStringLE(policyHashStr) + if err != nil { + policyHash, err = helper.NNSResolveHash(inv, nnsCs.Hash, policyHashStr) + commonCmd.ExitOnErr(cmd, "can't resolve NNS policy contract: %w", err) + } frostfsidHashStr, _ := cmd.Flags().GetString(frostfsidHashFlag) - frostfsidHash, err := helper.NNSResolveHash(inv, nnsCs.Hash, frostfsidHashStr) - commonCmd.ExitOnErr(cmd, "can't resolve NNS frostfsid contract: %w", err) + frostfsidHash, err := util.Uint160DecodeStringLE(policyHashStr) + if err != nil { + frostfsidHash, err = helper.NNSResolveHash(inv, nnsCs.Hash, frostfsidHashStr) + commonCmd.ExitOnErr(cmd, "can't resolve NNS frostfsid contract: %w", err) + } acc, err := wallet.NewAccount() commonCmd.ExitOnErr(cmd, "can't create new account: %w", err) diff --git a/cmd/frostfs-adm/internal/modules/morph/ape/raw/list_targets.go b/cmd/frostfs-adm/internal/modules/morph/ape/raw/list_targets.go index a66dd9a3..b0627e39 100644 --- a/cmd/frostfs-adm/internal/modules/morph/ape/raw/list_targets.go +++ b/cmd/frostfs-adm/internal/modules/morph/ape/raw/list_targets.go @@ -84,10 +84,15 @@ func initPolicyReader(cmd *cobra.Command) (*invoker.Invoker, util.Uint160) { commonCmd.ExitOnErr(cmd, "can't init rpc client: %w", err) inv := invoker.New(rpcCli, nil) + + policyHashStr, _ := cmd.Flags().GetString(policyHashFlag) + if policyHash, err := util.Uint160DecodeStringLE(policyHashStr); err == nil { + return inv, policyHash + } + nnsCs, err := helper.GetContractByID(management.NewReader(inv), 1) commonCmd.ExitOnErr(cmd, "can't get NNS contract state: %w", err) - policyHashStr, _ := cmd.Flags().GetString(policyHashFlag) policyHash, err := helper.NNSResolveHash(inv, nnsCs.Hash, policyHashStr) commonCmd.ExitOnErr(cmd, "can't resolve NNS policy contract: %w", err)