Replies: 2 comments 4 replies
This comment has been hidden.
This comment has been hidden.
-
Here is another option:
This optimizes for the happy-path where we don't need a Bitcoin address from the user. In case something goes wrong, the user's funds are still safe and they can transfer them out of the wallet at any time. We might even want to call that command |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Problem
Currently we don't have a coherent strategy and flow for the Bitcoin wallet on the user side (CLI)
Currently the CLI wallet only offers a
deposit
command - which was the minimal requirement to make a swap with the ASB (automated swap backend) possible.We need a coherent strategy for Bitcoin wallet management, that offers a good usability for the showcase setup.
There are two main questions to be answered:
A - The user is not in control of the wallet
If we answer question 1. with NO, i.e. the user uses the tool for one specific swap (or very sporadic swaps that don't require leaving money in the tool I would suggest the following solution:
Note that this strategy has the risk that, if something goes wrong on the way, it might be hard for the user to recover the funds.
We might still need withdraw/balance commands for power users, but that could be seen as additional feature.
We can go as far as stating: The internal wallet(s) (we can apply this to the Monero wallet as well) never holds funds longer than for the duration of the swap. This means that any remaining funds (Bitcoin/Monero), depending on the scenario that was executed (redeem/refund) are sent to a user wallet by the end of the swap.
B - The user in control of the wallet
If we answer question 1. with YES, i.e. we expect the user to do multiple swaps, it will be in the user's interest to transfer a larger amount of Bitcoin to the swap tool once to save transaction fees. If we expect that the user should have the commands. (This would give the feel of a power user application.)
Recommendation: Combined solution
I think the strategies can be combined. If the user specifies a fallback address the remaining funds or refunded Bitcoin can end up on the fallback address. If no fallback is specified it would stay within the swap tool.
The swap tool offers
deposit
,balance
andwithdraw
commands but they are not advertised. Power users will find out anyway.It is not much work to provide the commands (and we might need them anyway for failure scenarios).
But, to offer a user experience with less interaction we would have to implement scenario A as well.
The hard part is, that if we default to the CLI wallet then user might always default and then has to use the commands. We could do it the other way round - always ask for a fallback address, but power users can specify the one of the swap tool itself. (Bit weird, but coherent...)
Goal
A coherent Bitcoin wallet strategy, for the CLI that offers best usability for the showcase application.
Beta Was this translation helpful? Give feedback.
All reactions