[bisq-network/bisq] CLI needs wallet encryption password methods (#4198)

Stan notifications at github.com
Mon Apr 27 17:12:38 UTC 2020


<!--
   SUPPORT REQUESTS: This is for reporting bugs in the Bisq app.
   If you have a support request, please join #support on Bisq's
   Keybase team at https://keybase.io/team/Bisq
-->

### Description

After implementing gRPC authentication in [4189](https://github.com/bisq-network/bisq/pull/4189), it makes sense to implement wallet encryption / decryption endpoints in the next development phase.

A new PR will will close this issue after the following tasks are completed.

- [ ] Add error handling to `getbalance` method.
      Balances are not available while :daemon is initializing or when a wallet is locked.  Currently, the user sees `Error: UNKNOWN` for any server-side error.  Tell users to wait or how to unlock their wallet.

- [ ] Implement `setwalletpassword` method:  `setwalletpassword "password" "newpassword"` with error handling.  There are two use cases:
          * A single `"password"` argument is provided to encrypt an unencrypted wallet.
          * An optional second `"newpassword"` argument is is provided to change the password on an encrypted wallet.
      This is the analog to bitcoin core's [encryptwallet](https://bitcoincore.org/en/doc/0.19.0/rpc/wallet/encryptwallet)  and [walletpassphrasechange](https://bitcoincore.org/en/doc/0.19.0/rpc/wallet/walletpassphrasechange) methods, combined into one.

- [ ] Implement `removewalletpassword` method:  `removewalletpassword "password"` with error handling.
      Automated testing with ([bats](https://github.com/sstephenson/bats)) is a necessity for :cli, and despite the lack of a use case for a `removewalletpassword` method in Bisq, and the security risks it exposes, a  `removewalletpassword` method will allow devs to quickly run the test suite without having to wait for :daemon's full initialization to complete before any wallet related operations can be performed.  This method should not be mentioned in help text.

- [ ] Implement `unlockwallet "password" timeout` method, where `timeout` is in seconds.
      This is the analog to bitcoin core's [walletpassphrase](https://bitcoincore.org/en/doc/0.19.0/rpc/wallet/walletpassphrase)  method.

- [ ] Implement `lockwallet` method.
      This is the analog to bitcoin core's [walletlock](https://bitcoincore.org/en/doc/0.19.0/rpc/wallet/walletlock)  method.  After calling this method, users will need to call `unlockwallet` again before being able to call any methods which require the wallet to be unlocked.

- [ ] Port the `expect` based test.sh script in the cli module to [bats](https://github.com/sstephenson/bats) (easier to read and write).

#### Version

v1.3.3



-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/bisq-network/bisq/issues/4198
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20200427/b53e118d/attachment.html>


More information about the bisq-github mailing list