package state import ( "sort" "ripple/types" ) func (s *Storage) GetAccounts() []types.UserIdentifier { ids := make([]types.UserIdentifier, 0, len(s.Accounts)) for id := range s.Accounts { ids = append(ids, id) } sort.Slice(ids, func(i, j int) bool { if ids[i].ServerAddress != ids[j].ServerAddress { return ids[i].ServerAddress < ids[j].ServerAddress } return ids[i].Username < ids[j].Username }) return ids } func (s *Storage) GetAccountByIndex(idx int) (types.UserIdentifier, bool) { ids := s.GetAccounts() if idx < 0 || idx >= len(ids) { return types.UserIdentifier{}, false } return ids[idx], true }