Skip to content

feat(cli): encrypt wallet database [AC-1386]

Dennis B requested to merge AC-1386-encrypt-wallet into develop

Closes AC-1386.

  • By default, when a wallet is created it will create an encrypted wallet
  • Provided command-line option to create an unencrypted wallet
  • Added command feature to encrypt an existing wallet (./accumulate encrypt)
  • Refactored how the wallet database is accessed
  • Added versioning for wallet
  • Added feature to enable an encrypted wallet to be used by a client process
  • An encrypted wallet is stored in ~/.accumulate/wallet_encrypted.db
  • If both a wallet_encrypted.db and wallet.db file exist in the ~/.accumulate folder, then the cli will default to wallet_encrypted.db

Review Checklist

If any item is not complete, the merge request is not ready to be reviewed and must be marked Draft:.

  • The merge request title is in the format <change type>(<change scope>): <short description> [<task id>]
    • For example, feat(cli): add QR code generation [AC-123]
    • For details, see CONTRIBUTING.md
  • The description includes Closes <jira task ID> (or rarely Updates <jira task ID>)
  • The change is fully validated by tests that are run during CI
    • In most cases this means a test in "validate.sh"
    • In some cases, a Go test may be acceptable
    • Validation is not applicable to things like documentation updates
    • Purely UI/UX changes can be manually validated, such as changes to human-readable output
    • For all other changes, automated validation tests are an absolute requirement unless a maintainer specifically explains why they are not in a comment on this merge request
  • The change is marked with one of the validation labels

Merge Checklist

  • CI is passing
  • Merge conflicts are resolved
  • All discussions are resolved

Related to AC-1386

Edited by Dennis B

Merge request reports