Codaone / DEXBot

Trading Bot for the BitShares Decentralized Exchange
Other
247 stars 127 forks source link

CLI remade to python-prompt-toolkit dialogs [post core refactor] #551

Open thehapax opened 5 years ago

thehapax commented 5 years ago

### Todo after Core Refactor is over.

From Slack March 14, 2019

vvk [11:37 AM] During cli refactor I want to replace whiptail with python-prompt-toolkit dialogs. Reason: whiptail is available only on debian-like systems, while for other systems we have text-based whiptail replacement. This leads to different cli configure behavior on non-debian-based systems. python-prompt-toolkit dialogs looks similar to whiptail, https://python-prompt-toolkit.readthedocs.io/en/stable/pages/dialogs.html

Also, python-prompt-toolkit is very powerful for building cli apps. It supports asyncio too. In the future we can use it to create a "cool" cli interface not only for configuring

markopaasila [11:53 AM] If you refactor please use something that we can eventually make look like this Pasted image at 2019-03-14, 8:54 PM https://ibb.co/QpvBwBr

Or this Pasted image at 2019-03-14, 8:55 PM https://ibb.co/6rSsntR

vvk [12:09 PM] Yes, it's capable of building full-screen cli apps, example: https://raw.githubusercontent.com/samisalkosuo/kubeterminal/master/images/kubeterminal_05.png https://raw.githubusercontent.com/samisalkosuo/kubeterminal/master/images/kubeterminal_05.png Or this (gif screencast)

https://camo.githubusercontent.com/64a1033bfdc0f62932b0a1b9610f48d0f059e349/68747470733a2f2f663030322e6261636b626c617a6562322e636f6d2f66696c652f783775647a66652f66726575645f64656d6f2e676966

https://camo.githubusercontent.com/64a1033bfdc0f62932b0a1b9610f48d0f059e349/68747470733a2f2f663030322e6261636b626c617a6562322e636f6d2f66696c652f783775647a66652f66726575645f64656d6f2e676966

thehapax commented 5 years ago

For future CLI would be nice to have a feature where you can disable a strategy similar to the GUI. Right now you can only do so by commenting it out in the config.yml

thehapax commented 5 years ago

note from graphenecommon/transactionbuilder.py states:

#: Some graphene chains support more than just owner, active (e.g. steem also has 'posting')
    permission_types = ["active", "owner"]

So this sounds like "memo" keys might not work. might want to either fix this or advise end user

bitphage commented 5 years ago

Memo key is only to encrypt/decrypt memos. User may want to add memo key if their strategy doing transfers (think about arb starategies doing transfers to rebalance).

bitphage commented 4 years ago

See also: https://github.com/Codaone/DEXBot/issues/679#issuecomment-558884576