createChecksum function

List<int> createChecksum(
  1. String hrp,
  2. List<int> data, {
  3. String encoding = 'bech32',
})

Implementation

List<int> createChecksum(String hrp, List<int> data,
    {String encoding = 'bech32'}) {
  final ENCODING_CONST = encoding == 'bech32' ? 1 : 0x2bc830a3;
  var values = _hrpExpand(hrp) + data + [0, 0, 0, 0, 0, 0];
  var polymod = _polymod(values) ^ ENCODING_CONST;

  var result = <int>[0, 0, 0, 0, 0, 0];

  for (var i = 0; i < result.length; i++) {
    result[i] = (polymod >> (5 * (5 - i))) & 31;
  }
  return result;
}