-
Notifications
You must be signed in to change notification settings - Fork 50
Add Multiple Recipients option to the Send form #450
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- the amount is not tied to each recipient. If I enter x at 1, all have amount x
- small nit, could this be centered
I believe I have both of these issues resolved now with the latest commits. |
|
Discovered an issue with the calculation of the total amount in the review ui and coin selection ui. Will resolve that today. |
This should be resolved now with the last two commits. |
|
Looks great.
Not sure if that outline is easy to follow, but by guess is that the current recipient is correctly being removed, but the UI is not being refreshed.
|
I think this is the issue. I think I know what signal is missing and I will try it out.
There is currently no limit. I'll put it at 25 just so we have something
I think per recipient/output might make more sense but i can see the value of per transaction. Note to self isn't implemented yet so that part of the form just goes no where. I still need to figure out what is supported currently in core for this as that might dictate which way we go. |
The SendRecipientsListModel is owned by WalletQmlModel
This merges BitcoinAmount with SendRecipient to simplify the qml logic. By doing so, the conversions can be managed all in c++ against the satoshi member variable. Each recipient having its own BitcoinAmount allows the amounts to be saved independantly when there are multiple recipients.
These two issues are now resolved |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
8a6b593
I found multiple things, probably some are to be fixed and some can be follow-up.
- Have 2 recipients, delete recipient 2. It stays at recipient 2 and displays
Recipient 2 of 1:
- I noticed a delay in the coin selection
Remaining to select/Over required amount, this does not happen on master
Screencast.from.2025-06-04.09-12-47.webm
- Have multiple recipients, one in sats and the other in BTC -> the Transaction Details screen is confusing as it doesn't have units:
Some issues when having 2 or more recipients and disabling Multiple Recipients as the other disabled recipients are still taken into account:
- After disabling multiple recipients, the Send view will show the current selected single recipient, but the amount in
Transaction Detailsis the sum of the multiple recipients (even though disabled)
Screencast.from.2025-06-04.09-07-22.webm
- Recipient 2 is empty, disable
Multiple Recipients. Send view is at recipient 1 (with address and amount) butReviewdoesn't work.
|
I also noticed a few additional things to the ones mentioned above:
|
Found the off by one error. It should work correctly now.
This is a similar fix to the validation. I've push the fix to this PR as well.
The transaction details I will create a new task/issue as a follow up as I would like to do a bunch of amount labels at once.
I now have it clearing out the list up to the first recipient when the setting is disabled and the amounts should be correct now. |
|
All comments have been addressed via a commit or new issue. |
|
Awesome progress. Not sure if it's covered elsewhere, here are some things I am seeing based on the latest code:
|
These two are addressed in #462
This makes sense, will add
I'll make an issue to track this for a follow up. I need to refactor some things to get the setting to be global.
Will fix.
Ill try to fix this as well. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tested ACK 5642319
LGTM for initial feature introduction
Co-authored-by: Marnix Croes <[email protected]>
… Send form 676db23 Fix typo in MultipleSendReview (Johnny) 69c8d52 qml: Change IconButton disabled color to neutral4 (johnny9) 01affb5 qml: Disable multipleRecipients after clearing the recipients list (johnny9) 2b1d39d qml: Add a recipient when multiple recipients are enabled (johnny9) 2093017 qml: Connect Recipient label to Note to self input (johnny9) ee08381 qml: New recipients use current's units (johnny9) 1e4159a qml: When multipleRecipients is disabled, clearToFront of the list (johnny9) 5114425 qml: Split amount and display updating for Bitcoin amount input (johnny9) e29622c qml: Restrict Recipients to 25 (johnny9) 4872600 qml: Handle removal of first recipient properly (johnny9) 4d040e9 qml: Clear Send form after sending transaciton (johnny9) 33502e4 qml: Commit Recipient amount when active focus is lost (johnny9) 8a1dbe0 qml: Add total calculation to SendRecipientsListModel (johnny9) 2de4f26 qml: Cleanup BitcoinAmount (johnny9) b94f2bb qml: Replace NavButton with IconButton in Send (johnny9) d7d1d45 qml: Add plus big filled icon (johnny9) 2552e3f qml: Add MultipleSendReview page (johnny9) bd3fac2 qml: Prepare transaction with recipients list (johnny9) fdbaf00 qml: Add remove button to multiple recipients (johnny9) 1a8b696 qml: Reduce size of recipient selectors (johnny9) 34706bb qml: Add Multiple Recipients bar to Send form (johnny9) 191edb7 qml: Add Multiple Recipients toggle to Send menu (johnny9) 0cb338c qml: Introduce SendRecipientsListModel (johnny9) Pull request description: This change introduces the multiple recipients controls to the Send form. It is enabled in the ellipses option menu by toggling on "Enable Multiple Recipients". This is stored as a QSetting for the user. This PR depends on #448 which contains the  first implementation of the Send options menu.  Top commit has no ACKs. Tree-SHA512: 2f8f9e76eea107a898015966c6f838f303d7364852a26d0ab74dfb76bbf756563a9d29b0d6572c39b78ca23dc012c93af0fdcfa5d30f6bee693f8ac34c3b0c64
… Send form 676db23d9806e957c23aba87b4e6f83710bc7a38 Fix typo in MultipleSendReview (Johnny) 69c8d52bc0d46d55246d6100946d31b9ddb25bbf qml: Change IconButton disabled color to neutral4 (johnny9) 01affb56a067bc208294ac0aa5e49c3f94b025e7 qml: Disable multipleRecipients after clearing the recipients list (johnny9) 2b1d39d80c5423856b2ddd5f78263ff72a1f0292 qml: Add a recipient when multiple recipients are enabled (johnny9) 209301753610f6a4f1198616189959c150010a65 qml: Connect Recipient label to Note to self input (johnny9) ee08381ed493bf97c24f148da81364341fd9b156 qml: New recipients use current's units (johnny9) 1e4159a1027c5f565e56286eb6c04fc57050ae87 qml: When multipleRecipients is disabled, clearToFront of the list (johnny9) 5114425d3f9567575a4d0c8ed61458dd2d3eccbb qml: Split amount and display updating for Bitcoin amount input (johnny9) e29622c0ecd4bbf035cc77b66136e6d44ac29783 qml: Restrict Recipients to 25 (johnny9) 48726006684d39f4dccd0643b45284ff2ae30ede qml: Handle removal of first recipient properly (johnny9) 4d040e909dce7dd615f18558b27e8ad4a7ac5000 qml: Clear Send form after sending transaciton (johnny9) 33502e4a5f1797fcbdab85db274d49f8c7027ef3 qml: Commit Recipient amount when active focus is lost (johnny9) 8a1dbe03743c25e9567d54d03f6a285c61a8883e qml: Add total calculation to SendRecipientsListModel (johnny9) 2de4f268811f46999fa007e9cf419d3534eb7822 qml: Cleanup BitcoinAmount (johnny9) b94f2bbb1339259955c1fac6a2bd81557c5b7330 qml: Replace NavButton with IconButton in Send (johnny9) d7d1d45e302892e1a6fc90d9443f897ad9772d31 qml: Add plus big filled icon (johnny9) 2552e3f7c92f769439bb0536ef48c880a88bf8d5 qml: Add MultipleSendReview page (johnny9) bd3fac2cfb011e1693c7c5c28bce2b3b3945d14a qml: Prepare transaction with recipients list (johnny9) fdbaf00a2177412b9215128b7b60218568f9ee05 qml: Add remove button to multiple recipients (johnny9) 1a8b69612f5ab11f368322ce0b16fc3a18a06bee qml: Reduce size of recipient selectors (johnny9) 34706bb714fd14c26dee14d105da1be89e5e0a59 qml: Add Multiple Recipients bar to Send form (johnny9) 191edb7a1688a02a63839c334e1eea11e9e65a78 qml: Add Multiple Recipients toggle to Send menu (johnny9) 0cb338c913ff79454a51e1649140c1d40f28e6b6 qml: Introduce SendRecipientsListModel (johnny9) Pull request description: This change introduces the multiple recipients controls to the Send form. It is enabled in the ellipses option menu by toggling on "Enable Multiple Recipients". This is stored as a QSetting for the user. This PR depends on #448 which contains the  first implementation of the Send options menu.  Top commit has no ACKs. Tree-SHA512: 2f8f9e76eea107a898015966c6f838f303d7364852a26d0ab74dfb76bbf756563a9d29b0d6572c39b78ca23dc012c93af0fdcfa5d30f6bee693f8ac34c3b0c64









This change introduces the multiple recipients controls to the Send form. It is enabled in the ellipses option menu by toggling on "Enable Multiple Recipients". This is stored as a QSetting for the user.
This PR depends on #448 which contains the
first implementation of the Send options menu.