code: func (api *SignerAPI) List(ctx context.Context) ([]common.Address, error) {
  	var accs []accounts.Account
  	for _, wallet := range api.am.Wallets() {
  		accs = append(accs, wallet.Accounts()...)
  	}
  	result, err := api.UI.ApproveListing(&ListRequest{Accounts: accs, Meta: MetadataFromContext(ctx)})
  	if err != nil {
  		return nil, err
  	}
  	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
  }
docs: // List returns the set of wallet this signer manages. Each wallet can contain
  // multiple accounts.