[#1607] adm/ape: Fix parsing policy-hash flag

Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
This commit is contained in:
Denis Kirillov 2025-03-03 09:53:03 +03:00
parent 01b19e72fa
commit 10574f8ff0
2 changed files with 16 additions and 5 deletions

View file

@ -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)

View file

@ -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)