@pontem/liquidswap-widget
Version:
Liquidswap widget as custom web component
54 lines (43 loc) • 1.29 kB
text/typescript
import { IPersistedToken } from '@/store/useTokenStore';
const PREFIXES: Record<string, string> = {
// layerzero: 'lz',
wormhole: 'wh',
celer: 'cl',
amnis: 'am',
};
export function aliasForToken(token: IPersistedToken) {
const prefix = PREFIXES[token.source] ?? '';
return `${prefix}${token.symbol}`;
}
const TITLES: Record<string, string> = {
layerzero: 'Layer Zero',
wormhole: 'Wormhole',
chainx: 'ChainX',
celer: 'Celer',
multichain: 'Multichain',
amnis: 'Amnis',
};
export function titleForToken(token: IPersistedToken) {
const prefix = TITLES[token.source] ?? '';
return prefix.length ? `${prefix} • ${token.name}` : `${token.name}`;
}
export function titleForTokenSymbol(token: IPersistedToken) {
const postfix = TITLES[token.source] ?? '';
return postfix.length ? `${token.symbol} • ${postfix}` : `${token.symbol}`;
}
export function providerForToken(token: IPersistedToken) {
const provider = TITLES[token.source] ?? '';
return provider;
}
const PREFIXES_VALUES = Object.values(PREFIXES);
export function formatAliasForToken(alias: string) {
if (!alias) {
return '';
}
for (const prefix of PREFIXES_VALUES) {
if (alias.startsWith(prefix)) {
return alias.substring(prefix.length);
}
}
return alias;
}