oxen-core icon indicating copy to clipboard operation
oxen-core copied to clipboard

The text in CLI "help transfer" is confusing in order of parameters.

Open mechanator opened this issue 4 years ago • 1 comments

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. image

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. image

Additional Information (please complete the following information):

  • Operating System: Windows 10, and Linux.
  • Version of Loki daemon, or most recent commit hash. n/a

mechanator avatar Jun 03 '21 21:06 mechanator

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.

jagerman avatar Jun 03 '21 22:06 jagerman