/**
 * 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 , charsLength = 4 ) { const prefixLength = 2 ; if ( ! address ) { return '' ; } if ( address . length < charsLength * 2 + prefixLength ) { return address ; } return ( address . slice ( 0 , charsLength + prefixLength ) + '…' + address . slice ( - charsLength ) ) ; }