atomic transaction group bugfix #35
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix the Bug Submission Pull Request
What was the bug?
The
addTransactionmethod adds a single transaction to an atomic transaction group, it requires the transaction object as well as the TransactionSigner function. The TransactionSigner function is in turn responsible for signing transactions from the atomic transaction group. In this case, instead of passing the TransactionSigner function, the sender's account was passed and consequently, an error was raised with the messageTypeError: signer is not a functionand upon further inspection of the code you should see the typing error reported asType 'Account' is not assignable to type 'TransactionSigner'.How did you fix the bug?
The solution is to replace the sender object with a
TransactionSignermethod. The method can be created by either using themakeBasicAccountTransactionSignerfunciton fromalgosdkor preferrably thegetSenderTransactionSignerfunction from thealgokitpackage and passing thesenderAccount object to either functions. In this case,getSenderTransactionSigneris preferred since it uses memoization and would be the optimal option if theTransactionSignermethod has to be created multiple times for the same sender.Console Screenshot: