oxen-core
oxen-core copied to clipboard
The text in CLI "help transfer" is confusing in order of parameters.
Describe the bug The text in CLI "help transfer" is confusing in order of parameters. It's list is not in the order that people actually use it. Common problem from a PR pull from Monero which operates in a slightly different order.
To Reproduce
Connect daemon, run oxen-walllet-cli,select a wallet file, enter password.
Type "help transfer". You get this which also autoformats to the width of the terminal screen being used which makes it even more confusing in which order the parameters belong.

Expected behaviour What is the expected behaviour if the steps above are followed: You get a list of parameters to be filled in the correct order for priority, destination address, amount, and index.
Current Behaviour What is the current behaviour if the steps to reproduce are followed: The description in the help text misleads users to think that transfer parameters are in a different order than they are interpreted. i.e: "transfer low oxenaddresslongformat 1.32" Which is a low priority transfers of 1.32 Oxen to address "oxenaddresslongformat" This yields an error message from the CLI engine.
Screenshots or Logs
If applicable, add screenshots or logs to help explain your problem.

Additional Information (please complete the following information):
- Operating System: Windows 10, and Linux.
- Version of Loki daemon, or most recent commit hash. n/a
I am not a fan of the way of much of the way the cli wallet does things. Arguments are are sometimes positional (blink/unimportant; payment id), sometimes tagged (index=...), and sometimes ambiguous (for instance: if someone registered the ONS wallet name "blink" then what should happen when you write transfer blink 100), and error reporting (like in your example) is not easy to understand.
(That said, there is also some cruft in the text here: the mentioned priorities, for instance, in the long description aren't valid.)
In terms of an overhaul -- which we are planning! -- I'm not sure how best we should handle arguments for a command like this. I'm just brainstorming here to throw some ideas out:
Specify a priority:
send ADDRESS AMOUNT /blink
send /unimportant ADDRESS AMOUNT
send ADDRESS /unimportant AMOUNT
Multi-recipients:
send ADDRESS AMOUNT ADDRESS AMOUNT
Payment id (or maybe we just deprecated these completely)
send ADDRESS AMOUNT /paymentid:1234567890abcdef
Super-secret burn command to destroy your OXEN (be very careful with this one, you could get... burned):
send ADDRESS AMOUNT /burn:10
Sweep (yes, no reason for a separate sweep command):
send ADDRESS /all
Send to yourself ("/me" would get replaced with your own address):
send /me 100
send /me /all
Maybe even more crafty: have /all mean everything that is left so that you could do:
send fred 100 /me /all
Send from subaccount (i.e. what index=2 does now):
send /account:2 fred 50
etc.