toAddress method

Address toAddress()

Convert the MultiSignature Address to more easily represent as a string.

Implementation

Address toAddress() {
  final numPkBytes = Ed25519PublicKey.KEY_LEN_BYTES * publicKeys.length;
  final length = MULTISIG_PREFIX.length + 2 + numPkBytes;
  final writer = ByteDataWriter(bufferLength: length);
  writer.write(utf8.encode(MULTISIG_PREFIX));
  writer.writeUint8(version);
  writer.writeUint8(threshold);
  for (var key in publicKeys) {
    writer.write(key.publicKey);
  }

  final digest = sha512256.convert(writer.toBytes());
  return Address(publicKey: Uint8List.fromList(digest.bytes));
}