append method
Appends a signature to multisig logic signed transaction
Implementation
Future<LogicSignature> append({required Account account}) async {
final multiSignature = this.multiSignature;
if (multiSignature == null) {
throw AlgorandException(message: 'The logicsig has no valid multisig');
}
final publicKey = account.address;
final index = multiSignature.subsigs.indexWhere(
(subsig) => subsig.key == publicKey,
);
if (index == -1) {
throw AlgorandException(
message: 'Multisig account does not contain this secret key');
}
final signature = await account.sign(getEncodedProgram());
multiSignature.subsigs[index] = MultisigSubsig(
key: publicKey,
signature: signature,
);
return copyWith(multiSignature: multiSignature);
}