         format.numberStyle = .currency
         format.generatesDecimalNumbers = true
         format.negativeFormat = "-\(format.positiveFormat!)"
-        
         if let rate = rate {
             format.currencySymbol = rate.currencySymbol
             format.maximumFractionDigits = rate.maxFractionalDigits

    /// Token value in default units as Decimal number
    /// NB: Decimal can only represent maximum 38 digits wheras UInt256 can represent up to 78 digits -- it is assumed the units represented will be multiple orders of magnitude smaller than the base unit value and precision loss is acceptable.
    var tokenValue: Decimal {
        return Decimal(string: tokenUnformattedString(in: currency.defaultUnit)) ?? Decimal.zero
    }
    
    /// Token value in default units as formatted string with currency ticker symbol suffix

    
    // MARK: - Private
    
    private var commonUnitValue: Decimal? {
        let commonUnitString = cryptoAmount.string(as: currency.defaultUnit, formatter: rawTokenFormat) ?? ""
        return Decimal(string: commonUnitString, locale: Locale.current)
    }
}

