import 'dart:typed_data'; class Utils { static List splitDigits(int number) { final digits = []; while (number != 0) { digits.add(number % 10); number = number ~/ 10; } return digits; } static Uint8List serializeBigInt(BigInt bi) { Uint8List array = Uint8List((bi.bitLength / 8).ceil()); for (int i = 0; i < array.length; i++) { array[i] = (bi >> (i * 8)).toUnsigned(8).toInt(); } return array; } static BigInt deserializeBigInt(Uint8List array) { var bi = BigInt.zero; for (var byte in array.reversed) { bi <<= 8; bi |= BigInt.from(byte); } return bi; } }