quasvel
Version:
Access and interact with Aragon Organizations and their apps.
25 lines (24 loc) • 679 B
text/typescript
/**
* Shorten an Ethereum address. `charsLength` allows to change the number of
* characters on both sides of the ellipsis.
*
* Examples:
* shortenAddress('0x19731977931271') // 0x1973…1271
* shortenAddress('0x19731977931271', 2) // 0x19…71
* shortenAddress('0x197319') // 0x197319 (already short enough)
*
*/
export function shortenAddress(address: string, charsLength = 4): string {
const prefixLength = 2 // "0x"
if (!address) {
return ''
}
if (address.length < charsLength * 2 + prefixLength) {
return address
}
return (
address.slice(0, charsLength + prefixLength) +
'…' +
address.slice(-charsLength)
)
}