polkadot-js/common

View on GitHub
packages/util-crypto/src/address/sort.ts

Summary

Maintainability
A
0 mins
Test Coverage
// Copyright 2017-2024 @polkadot/util authors & contributors
// SPDX-License-Identifier: Apache-2.0

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

import { u8aSorted } from '@polkadot/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);
}