AptosMultiKeyAccountPublicKey constructor
AptosMultiKeyAccountPublicKey({
- required List<
AptosCryptoPublicKey< publicKeys,IPublicKey> > - required int requiredSignature,
Implementation
factory AptosMultiKeyAccountPublicKey(
{required List<AptosCryptoPublicKey> publicKeys,
required int requiredSignature}) {
final keys = publicKeys.toSet();
if (keys.length != publicKeys.length) {
throw DartAptosPluginException("Duplicate public key detected.");
}
if (requiredSignature < AptosAccountConst.mulitKeyMinRequiredSignature ||
requiredSignature > AptosAccountConst.multiKeyMaxRequiredSignature) {
throw DartAptosPluginException(
"Invalid required signature. The required signature must be between ${AptosAccountConst.mulitKeyMinRequiredSignature} and ${AptosAccountConst.multiKeyMaxRequiredSignature}.");
}
if (publicKeys.length < AptosAccountConst.mulitKeyMinRequiredSignature ||
publicKeys.length > AptosAccountConst.multiKeyMaxKeys) {
throw DartAptosPluginException(
"The number of public keys provided is invalid. It must be between ${AptosAccountConst.mulitKeyMinRequiredSignature} and ${AptosAccountConst.multiKeyMaxKeys}.");
}
if (publicKeys.length < requiredSignature) {
throw DartAptosPluginException(
"The number of public keys must be at least equal to the required signatures.");
}
return AptosMultiKeyAccountPublicKey._(
publicKeys: publicKeys, requiredSignature: requiredSignature);
}