// Copyright 2017-2025 @polkadot/util authors & contributors
// SPDX-License-Identifier: Apache-2.0

import type { Prefix } from './types.js';

import { u8aSorted } from '@pezkuwi/util';

import { encodeAddress } from './encode.js';
import { addressToU8a } from './util.js';

export function sortAddresses (addresses: (string | Uint8Array)[], ss58Format?: Prefix): string[] {
  const u8aToAddress = (u8a: Uint8Array) => encodeAddress(u8a, ss58Format);

  return u8aSorted(
    addresses.map(addressToU8a)
  ).map(u8aToAddress);
}
