addSignature method
Add an externally created signature to a transaction. The pubkey must correspond to the
fee payer or a signer account in the transaction instructions (Message.accountKeys).
Implementation
void addSignature(final Pubkey pubkey, final Uint8List signature) {
check(signature.length == nacl.signatureLength, 'Invalid signature length ${signature.length}');
final int numRequiredSignatures = message.header.numRequiredSignatures;
final List<Pubkey> signerPubkeys = message.accountKeys.sublist(0, numRequiredSignatures);
final int signerIndex = signerPubkeys.indexWhere((signerPubkey) => signerPubkey == pubkey);
check(signerIndex >= 0, 'Unknown transaction signer.');
signatures[signerIndex] = signature;
}