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

[WIP] RFC - Full Wallet Lifecycle #11

Closed
wants to merge 6 commits into from

Conversation

yeastplume
Copy link
Member

Initial (very WIP) of RFC describing changes to the Wallet APIs to support wallet lifecycle events in the API, as well as other changes to support their use in the command-line wallet.

@yeastplume yeastplume changed the title [WIP] Full Wallet Lifecycle [WIP] RFC -Full Wallet Lifecycle Jul 3, 2019
@lehnberg
Copy link
Contributor

lehnberg commented Jul 3, 2019

@lehnberg
Copy link
Contributor

lehnberg commented Jul 3, 2019

@yeastplume nice job putting together the first wallet RFC! :)

Changing the wallet backend data structure and supporting multiple wallets seem quite distinct from the proposed changes to how init and instantiation behaves, and the addition of new API calls.

Do you think it would make sense for these to be broken down into multiple RFCs so they can be reviewed separately?

@yeastplume
Copy link
Member Author

Wrestling with whether this should be split up myself. Thing is with the way it's currently structured, many of these changes don't make a lot of sense without the others also being in place.

However, it might make more sense ordered thusly:

  • RFC adding lifecycle functions to the API for a single wallet instance (which won't be called from the CLI just yet)
  • RFC to add support for multiple wallets and addition of related API functions (again, not necessarily called from the CLI)
  • RFC to change wallet invocation mode
    Also planned:
  • RFC to define open grinbox spec (and inclusion in grin as an exchange method)

@yeastplume
Copy link
Member Author

Splitting, this PR just contains the description of API functions that will work on the current single wallet instance.

@yeastplume yeastplume changed the title [WIP] RFC -Full Wallet Lifecycle [WIP] RFC - Full Wallet Lifecycle Jul 4, 2019

1. In the command line case, each wallet command is a separate invocation. Command line invocation will ask for a password, decrypt the master seed and initialize the wallet with the descrypted seed. It will then perform the desired function and return, zeroing memory and exiting the process.

1. In the case of a listening API (owner or foreign), the password is given once and the wallet seed is decrypted. The wallet instance is then kept in memory by the handling thread, and re-used for each Foreign or Owner API call.
Copy link
Member

@nijynot nijynot Jul 12, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should probably be a 2. here?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nope, this is markdown syntax. :) It renders well in the actual document.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh it totally does. 😄 Didn't know that markdown fixed list indexes like that.

@lehnberg lehnberg added the wallet dev Related to wallet dev team label Jul 20, 2019
@yeastplume
Copy link
Member Author

Replaced by #18

@yeastplume yeastplume closed this Jul 23, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wallet dev Related to wallet dev team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants