AptosMultiEd25519AccountPublicKey.fromBytes constructor

AptosMultiEd25519AccountPublicKey.fromBytes(
  1. List<int> bytes
)

Implementation

factory AptosMultiEd25519AccountPublicKey.fromBytes(List<int> bytes) {
  if ((bytes.length - 1) % Ed25519KeysConst.pubKeyByteLen != 0) {
    throw DartAptosPluginException(
        "Invalid MultiEd25519Account bytes length.",
        details: {"length": bytes.length});
  }
  final pubkeysLength = (bytes.length - 1) ~/ Ed25519KeysConst.pubKeyByteLen;
  return AptosMultiEd25519AccountPublicKey(
      publicKeys: List.generate(pubkeysLength, (i) {
        final index = i * Ed25519KeysConst.pubKeyByteLen;
        return AptosED25519PublicKey.fromBytes(
            bytes.sublist(index, index + Ed25519KeysConst.pubKeyByteLen));
      }),
      threshold: bytes.last);
}