cake_wallet/cw_evm/lib/evm_chain_formatter.dart
Adegoke David fc2c9a2bcc
Some checks failed
Cache Dependencies / test (push) Has been cancelled
feat: Int overflow issue (#1482)
2024-06-14 16:24:10 +03:00

33 lines
725 B
Dart

import 'dart:math';
class EVMChainFormatter {
static int _divider = 0;
static int parseEVMChainAmount(String amount) {
try {
final decimalLength = _getDividerForInput(amount);
_divider = decimalLength;
return (double.parse(amount) * pow(10, decimalLength)).round();
} catch (_) {
return 0;
}
}
static double parseEVMChainAmountToDouble(int amount) {
try {
return amount / pow(10, _divider);
} catch (_) {
return 0;
}
}
static int _getDividerForInput(String amount) {
final result = amount.split('.');
if (result.length > 1) {
final decimalLength = result[1].length;
return decimalLength;
} else {
return 0;
}
}
}