toBytesPadded function

List<int> toBytesPadded(
  1. BigInt value,
  2. int length
)

Implementation

List<int> toBytesPadded(BigInt value, int length) {
  List<int> bytes = encodeBigInt(value, endian: Endian.big);
  if (bytes.length > length) {
    throw ('Input is too large to put in byte array of size ${length.toString()}');
  }
  var result = List<int>.filled(length, 0);
  var offset = length - bytes.length;
  for (var i = 0; i < length; i++) {
    result[i] = i < offset ? 0 : bytes[i - offset];
  }
  return result;
}