Merge pull request #6594 from filecoin-project/fix/wallet-errors

Fix wallet error messages
This commit is contained in:
Łukasz Magiera 2021-06-25 21:43:36 +02:00 committed by GitHub
commit 39979c07f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 7 deletions

View File

@ -4,6 +4,7 @@ import (
"context" "context"
"go.uber.org/fx" "go.uber.org/fx"
"go.uber.org/multierr"
"golang.org/x/xerrors" "golang.org/x/xerrors"
"github.com/filecoin-project/go-address" "github.com/filecoin-project/go-address"
@ -56,18 +57,18 @@ func nonNil(wallets ...getif) []api.Wallet {
func (m MultiWallet) find(ctx context.Context, address address.Address, wallets ...getif) (api.Wallet, error) { func (m MultiWallet) find(ctx context.Context, address address.Address, wallets ...getif) (api.Wallet, error) {
ws := nonNil(wallets...) ws := nonNil(wallets...)
var merr error
for _, w := range ws { for _, w := range ws {
have, err := w.WalletHas(ctx, address) have, err := w.WalletHas(ctx, address)
if err != nil { merr = multierr.Append(merr, err)
return nil, err
}
if have { if err == nil && have {
return w, nil return w, nil
} }
} }
return nil, nil return nil, merr
} }
func (m MultiWallet) WalletNew(ctx context.Context, keyType types.KeyType) (address.Address, error) { func (m MultiWallet) WalletNew(ctx context.Context, keyType types.KeyType) (address.Address, error) {

View File

@ -151,12 +151,12 @@ func (a *API) dealStarter(ctx context.Context, params *api.StartDealParams, isSt
walletKey, err := a.StateAccountKey(ctx, params.Wallet, types.EmptyTSK) walletKey, err := a.StateAccountKey(ctx, params.Wallet, types.EmptyTSK)
if err != nil { if err != nil {
return nil, xerrors.Errorf("failed resolving params.Wallet addr: %w", params.Wallet) return nil, xerrors.Errorf("failed resolving params.Wallet addr (%s): %w", params.Wallet, err)
} }
exist, err := a.WalletHas(ctx, walletKey) exist, err := a.WalletHas(ctx, walletKey)
if err != nil { if err != nil {
return nil, xerrors.Errorf("failed getting addr from wallet: %w", params.Wallet) return nil, xerrors.Errorf("failed getting addr from wallet (%s): %w", params.Wallet, err)
} }
if !exist { if !exist {
return nil, xerrors.Errorf("provided address doesn't exist in wallet") return nil, xerrors.Errorf("provided address doesn't exist in wallet")