cli: improve wallet unmarshalling error

Made errors more user-friendly.
```
./bin/neo-go wallet import --wif qweqweqweqwe -w wallet1.json
failed to read wallet: open wallet: open wallet.json: no such file or
directory

touch wallet.json

./bin/neo-go wallet import --wif qweqweqweqwe -w wallet.json
failed to read wallet: unmarshal wallet: EOF
```

Close #3134

Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
This commit is contained in:
Ekaterina Pavlova 2024-04-03 19:17:44 +03:00
parent 927dbb6dc4
commit 700a550973

View file

@ -948,14 +948,14 @@ func createAccount(wall *wallet.Wallet, pass *string) error {
func openWallet(ctx *cli.Context, canUseWalletConfig bool) (*wallet.Wallet, *string, error) { func openWallet(ctx *cli.Context, canUseWalletConfig bool) (*wallet.Wallet, *string, error) {
path, pass, err := getWalletPathAndPass(ctx, canUseWalletConfig) path, pass, err := getWalletPathAndPass(ctx, canUseWalletConfig)
if err != nil { if err != nil {
return nil, nil, err return nil, nil, cli.NewExitError(fmt.Errorf("failed to get wallet path or password: %w", err), 1)
} }
if path == "-" { if path == "-" {
return nil, nil, errNoStdin return nil, nil, errNoStdin
} }
w, err := wallet.NewWalletFromFile(path) w, err := wallet.NewWalletFromFile(path)
if err != nil { if err != nil {
return nil, nil, err return nil, nil, cli.NewExitError(fmt.Errorf("failed to read wallet: %w", err), 1)
} }
return w, pass, nil return w, pass, nil
} }