quantus_cli/cli/
address_format.rs

1/// Address formatting utilities for consistent SS58 encoding
2///
3/// This module provides unified functions for formatting addresses in the Quantus
4/// SS58 format (version 189).
5use sp_core::crypto::{Ss58AddressFormat, Ss58Codec};
6
7/// Returns the Quantus SS58 address format (version 189)
8/// This is the standard address format for Quantus Network, producing addresses with 'qz' prefix
9#[inline]
10pub fn quantus_ss58_format() -> Ss58AddressFormat {
11	Ss58AddressFormat::custom(189)
12}
13
14/// Trait for converting AccountId32 to Quantus SS58 format
15pub trait QuantusSS58 {
16	fn to_quantus_ss58(&self) -> String;
17}
18
19impl QuantusSS58 for sp_core::crypto::AccountId32 {
20	fn to_quantus_ss58(&self) -> String {
21		self.to_ss58check_with_version(quantus_ss58_format())
22	}
23}
24
25impl QuantusSS58 for subxt::ext::subxt_core::utils::AccountId32 {
26	fn to_quantus_ss58(&self) -> String {
27		let bytes: [u8; 32] = *self.as_ref();
28		let sp_account_id = sp_core::crypto::AccountId32::from(bytes);
29		sp_account_id.to_ss58check_with_version(quantus_ss58_format())
30	}
31}