token-client: Use Signers
instead of Signer
for confidential transfer functions
#5663
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.
Problem
A lot of the confidential transfer functions in the token client parametrize on
Signer
and accept multiple keypairs for the required signatures (account authority, context state accounts, etc). This does not work with the token CLI, which uses a hugebulk_signers
everywhere.Solution
Change all of the functions to take in
Signers
instead! This works very nicely for the most part, but the split-proofs-in-parallel functions get a little tricky since you need to craft the correctSigners
arrays for each transaction.Let me know how it looks! You should be able to track each commit pretty easily, since each one actually works on its own.