signer/core: don't mismatch reject and no accounts (#21677)
* signer/core: don't mismatch reject and zero accounts, fixes #21674 * signer/core: docs
This commit is contained in:
parent
015e78928a
commit
6d29e192e9
@ -383,7 +383,9 @@ func (api *SignerAPI) startUSBListener() {
|
|||||||
// List returns the set of wallet this signer manages. Each wallet can contain
|
// List returns the set of wallet this signer manages. Each wallet can contain
|
||||||
// multiple accounts.
|
// multiple accounts.
|
||||||
func (api *SignerAPI) List(ctx context.Context) ([]common.Address, error) {
|
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() {
|
for _, wallet := range api.am.Wallets() {
|
||||||
accs = append(accs, wallet.Accounts()...)
|
accs = append(accs, wallet.Accounts()...)
|
||||||
}
|
}
|
||||||
@ -393,13 +395,11 @@ func (api *SignerAPI) List(ctx context.Context) ([]common.Address, error) {
|
|||||||
}
|
}
|
||||||
if result.Accounts == nil {
|
if result.Accounts == nil {
|
||||||
return nil, ErrRequestDenied
|
return nil, ErrRequestDenied
|
||||||
|
|
||||||
}
|
}
|
||||||
addresses := make([]common.Address, 0)
|
addresses := make([]common.Address, 0)
|
||||||
for _, acc := range result.Accounts {
|
for _, acc := range result.Accounts {
|
||||||
addresses = append(addresses, acc.Address)
|
addresses = append(addresses, acc.Address)
|
||||||
}
|
}
|
||||||
|
|
||||||
return addresses, nil
|
return addresses, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user