-
Notifications
You must be signed in to change notification settings - Fork 11
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
Update basic send flow #152
Open
rabbitholiness
wants to merge
12
commits into
BitcoinDesign:gh-pages
Choose a base branch
from
rabbitholiness:basic-send-flow-update
base: gh-pages
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
966b51f
Updated mockups for basic send flow
rabbitholiness e0cca9e
Removed transaction sent modal & smaller stuff
rabbitholiness 5b93713
Creates page for send form inputs
rabbitholiness 488cb4e
New page for input field specs
rabbitholiness 873acea
Updated send input
rabbitholiness e2985c5
Form input fields updated
rabbitholiness 47258d2
Text tweaks
rabbitholiness 5d0ad86
Removed duplicate images
rabbitholiness 051b574
Added layout block explanation images
rabbitholiness 025bd9b
updated amount layout blocks
rabbitholiness bd32249
Updated the flow endpoint
rabbitholiness d1bc5b4
Review and confirmation screen updates
rabbitholiness File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,153 @@ | ||
--- | ||
layout: default | ||
title: Send form inputs | ||
permalink: /send/send-form-input-fields/ | ||
nav_order: 172 | ||
indent: true | ||
--- | ||
|
||
# Send form inputs | ||
|
||
**Status: Early design exploration** | ||
|
||
Our application uses inline validation checks in many form fields to minimize errors. These checks fall into two categories: warnings and errors. | ||
|
||
**Warnings** inform users of potential issues but still allow them to proceed. They encourage informed decisions, such as when a user pastes a legacy address type or sets an unusually low or high transaction fee. | ||
|
||
**Errors** block users from proceeding due to invalid or unprocessable inputs, like entering a transaction ID into the address field. | ||
|
||
## Address | ||
|
||
To improve readability and address verification, the address input field formats bitcoin addresses into chunks of four characters each. | ||
|
||
{% include picture.html | ||
image = "/assets/images/send/send-inputs-address.png" | ||
retina = "/assets/images/send/send-inputs-address@2x.png" | ||
big = "/assets/images/send/send-inputs-address-big.png" | ||
alt-text = "List of the amount input field in different states." | ||
width = 800 | ||
height = 815 | ||
%} | ||
|
||
Inline validation checks include: | ||
|
||
- Sending to Own/Loaded Wallet: Info - Sending to [Wallet name] | ||
- Legacy Address: Warning - Support for legacy addresses may be deprecated in certain wallets. | ||
- Taproot Address: Warning - Taproot addresses may not be widely supported across wallets or exchanges. | ||
- Lightning address: Error – Cannot pay Lightning invoices. | ||
- Wrong Format: Error – This is not a valid Bitcoin address. | ||
- Potentially more | ||
|
||
{% include picture.html | ||
image = "/assets/images/send/layout-blocks-address.png" | ||
retina = "/assets/images/send/layout-blocks-address@2x.png" | ||
big = "/assets/images/send/layout-blocks-address-big.png" | ||
alt-text = "Layout blocks of the address input component." | ||
width = 800 | ||
height = 703 | ||
%} | ||
|
||
## Amount | ||
|
||
The transaction amount can be entered in two denominations: bitcoins or Satoshis. Users also have the option to send the full wallet balance. | ||
|
||
{% include picture.html | ||
image = "/assets/images/send/send-inputs-amount.png" | ||
retina = "/assets/images/send/send-inputs-amount@2x.png" | ||
big = "/assets/images/send/send-inputs-amount-big.png" | ||
alt-text = "List of the address input field in different states." | ||
width = 800 | ||
height = 627 | ||
%} | ||
|
||
Inline validation checks include: | ||
|
||
- Insufficient Balance: Error – Not enough funds to complete the transaction. | ||
- Full Send: Warning – You are sending your entire balance. | ||
- Potentially more | ||
|
||
{% include picture.html | ||
image = "/assets/images/send/layout-blocks-amount.png" | ||
retina = "/assets/images/send/layout-blocks-amount@2x.png" | ||
big = "/assets/images/send/layout-blocks-amount-big.png" | ||
alt-text = "Layout blocks of the amount input component." | ||
width = 800 | ||
height = 1034 | ||
%} | ||
|
||
|
||
## Note to self | ||
|
||
The note to self is recommended for each transaction. It can have up to 255 characters, as recommended in [BIP-329](https://github.com/bitcoin/bips/blob/master/bip-0329.mediawiki). | ||
|
||
{% include picture.html | ||
image = "/assets/images/send/send-inputs-note.png" | ||
retina = "/assets/images/send/send-inputs-note@2x.png" | ||
big = "/assets/images/send/send-inputs-note-big.png" | ||
alt-text = "List of the note to self input field in different states." | ||
width = 800 | ||
height = 418 | ||
%} | ||
|
||
{% include picture.html | ||
image = "/assets/images/send/layout-blocks-note.png" | ||
retina = "/assets/images/send/layout-blocks-note@2x.png" | ||
big = "/assets/images/send/layout-blocks-note-big.png" | ||
alt-text = "Layout blocks of the note to self input component." | ||
width = 800 | ||
height = 808 | ||
%} | ||
|
||
|
||
## Fee selection | ||
|
||
The application offers three standard fee options, each corresponding to a different confirmation speed. In rare cases where all three options have the same fee, the fastest option is selected by default. | ||
|
||
### Standard fee | ||
{% include picture.html | ||
image = "/assets/images/send/send-inputs-fee-standard.png" | ||
retina = "/assets/images/send/send-inputs-fee-standard@2x.png" | ||
big = "/assets/images/send/send-inputs-fee-standard-big.png" | ||
alt-text = "List of the fee selection input field in different states." | ||
width = 800 | ||
height = 507 | ||
%} | ||
|
||
{% include picture.html | ||
image = "/assets/images/send/layout-blocks-fees.png" | ||
retina = "/assets/images/send/layout-blocks-fees@2x.png" | ||
big = "/assets/images/send/layout-blocks-fees-big.png" | ||
alt-text = "Layout blocks of the fee selection component." | ||
width = 800 | ||
height = 561 | ||
%} | ||
|
||
### Custom fees | ||
|
||
Users can enable the custom fee option from the send options dropdown. By default, the custom fee field is pre-filled with the value of the default option in the standard fee selection. | ||
|
||
{% include picture.html | ||
image = "/assets/images/send/send-form-custom-fee.png" | ||
retina = "/assets/images/send/send-form-custom-fee@2x.png" | ||
big = "/assets/images/send/send-form-custom-fee-big.png" | ||
alt-text = "List of the custom fee input field in different states." | ||
width = 800 | ||
height = 366 | ||
%} | ||
|
||
Special scenarios may arise when setting custom fees. For example, entering a very low or extremely high fee triggers a warning message, guiding users to make informed choices. | ||
|
||
{% include picture.html | ||
image = "/assets/images/send/send-inputs-fee-custom.png" | ||
retina = "/assets/images/send/send-inputs-fee-custom@2x.png" | ||
big = "/assets/images/send/send-inputs-fee-custom-big.png" | ||
alt-text = "List of the custom fee input field in different states." | ||
width = 800 | ||
height = 718 | ||
%} | ||
|
||
Inline validation checks include: | ||
|
||
- Low fee: Warning - This is a very low fee. It might result in the transaction never confirming. | ||
- High fee: Warning - You are overpaying by [x] sat/vbyte | ||
- Below confirmation limit: Error - The fee is below confirmation limit |
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.
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.
Maybe just throw the image into AI and have it create alt text?