signer/core: don't mismatch reject and no accounts (#21677)

* signer/core: don't mismatch reject and zero accounts, fixes #21674

* signer/core: docs
pull/21681/head
Martin Holst Swende 4 years ago committed by GitHub
parent 015e78928a
commit 6d29e192e9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      signer/core/api.go

@ -383,7 +383,9 @@ func (api *SignerAPI) startUSBListener() {
// List returns the set of wallet this signer manages. Each wallet can contain
// multiple accounts.
func (api *SignerAPI) List(ctx context.Context) ([]common.Address, error) {
var accs []accounts.Account
var accs = make([]accounts.Account, 0)
// accs is initialized as empty list, not nil. We use 'nil' to signal
// rejection, as opposed to an empty list.
for _, wallet := range api.am.Wallets() {
accs = append(accs, wallet.Accounts()...)
}
@ -393,13 +395,11 @@ func (api *SignerAPI) List(ctx context.Context) ([]common.Address, error) {
}
if result.Accounts == nil {
return nil, ErrRequestDenied
}
addresses := make([]common.Address, 0)
for _, acc := range result.Accounts {
addresses = append(addresses, acc.Address)
}
return addresses, nil
}

Loading…
Cancel
Save