abstract class Amount { Amount(this.value); int value; int minorDigits; String code; String formatted(); } class MoneroAmount extends Amount { MoneroAmount(int value) : super(value) { minorDigits = 12; code = 'XMR'; } // const moneroAmountLength = 12; // const moneroAmountDivider = 1000000000000; // final moneroAmountFormat = NumberFormat() // ..maximumFractionDigits = moneroAmountLength // ..minimumFractionDigits = 1; // String moneroAmountToString({int amount}) => // moneroAmountFormat.format(cryptoAmountToDouble(amount: amount, divider: moneroAmountDivider)); // double moneroAmountToDouble({int amount}) => cryptoAmountToDouble(amount: amount, divider: moneroAmountDivider); // int moneroParseAmount({String amount}) => moneroAmountFormat.parse(amount).toInt(); @override String formatted() { // TODO: implement formatted throw UnimplementedError(); } }