Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wallet Interactive-mode, Part 1 #295

Merged
merged 18 commits into from
Feb 6, 2020

Conversation

yeastplume
Copy link
Member

@yeastplume yeastplume commented Jan 14, 2020

The goal of the PR will be to have all of the command line options working in CLI mode at a basic level, perhaps not all polished or perfect with respect to their functionality.

It's important to note that this adds command line functionality while leaving the existing single-invocation mode functionality intact. The CLI functionality can be introduced, then refined and tweaked over time without any impact on existing functionality.

The focuses of this PR are:

  • Provide a basic command-prompt mode for all existing wallet actions without duplicating code or functionality.
  • Ensure the commands and switches are consistent between the CLI and single-invocation mode (except for commands that only make sense in one or the other)
  • Ensure the CLI mode is backed by a single static instance of the Owner/Foreign APIs, to ensure they operate as similarly to upstream wallets as possible.
  • Enable whatever additional automated testing of the Owner/Foreign APIs the new CLI mode affords that couldn't have taken place before.

@yeastplume yeastplume added this to the v3.1.0 milestone Jan 21, 2020
@yeastplume yeastplume added the enhancement New feature or request label Jan 21, 2020
@yeastplume yeastplume changed the title [WIP] Wallet Interactive-mode [WIP] Wallet Interactive-mode, Part 1 Jan 21, 2020
@yeastplume yeastplume changed the title [WIP] Wallet Interactive-mode, Part 1 Wallet Interactive-mode, Part 1 Feb 4, 2020
@yeastplume
Copy link
Member Author

Still quite janky, but basically works. Going to merge this shortly as experimental functionality to allow users to start giving feedback and do further refinements over time.

For now, cli mode is totally optional and its presence has no effect on existing functionality. To run, it's simply grin-wallet cli. Once cli mode is considered complete enough, it can be run as the default when grin-wallet is run without args.

@yeastplume yeastplume merged commit 2d264db into mimblewimble:master Feb 6, 2020
@quentinlesceller quentinlesceller mentioned this pull request Feb 6, 2020
@yeastplume yeastplume deleted the cli_mode_start branch March 3, 2020 08:37
antiochp pushed a commit to antiochp/grin-wallet that referenced this pull request Aug 7, 2020
* cli addition to yml

* first experiments with CLI mode

* rustfmt

* modify owner_single_use to take optional instantiated API

* refactor command functions to take owner api instance

* modify commands to use single owner api instance

* add ability to pass customised message handler to API

* prevent update wallet attempt if wallet hasn't been opened

* fix output when internal updater is running

* add termion, use cli for status updates, remove logging output from CLI

* some attempts to clean up the command prompt and accomodate scanning intervals

* rework listener slightly to allow for cli mode, add close command

* remove termion dependency
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant