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

Open fully encrypted wallets #747

Closed

Commits on Jul 24, 2023

  1. Configuration menu
    Copy the full SHA
    a783e5c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2c3d81f View commit details
    Browse the repository at this point in the history
  3. walletdb: Add EncryptedDatabase and its batch and cursor classes

    EncryptedDatabase is a WalletDatabase that encrypts the records before
    writing them to an underlying WalletDatabase. This encryption occurs
    transparently to the higher level application logic so the wallet does
    not need to be concerned about whether the data it is writing is
    encrypted.
    
    In order to work with prefix matching and cursor iteration in an order
    that we are expecting, EncryptedDatabase maintains a map of the
    unencrypted record keys to the encrypted record keys. When given the
    plaintext record key to pull up, it can retrieve the encrypted record
    key and then retrieve the encrypted record from the underlying database.
    achow101 committed Jul 24, 2023
    Configuration menu
    Copy the full SHA
    a203061 View commit details
    Browse the repository at this point in the history
  4. walletdb: Add WalletBatch::Read overload for DataStream

    It's useful to be able to just read a record without the batch doing any
    sort of deserialization. The new overload of Read will just place the
    record's value into the provided DataStream.
    achow101 committed Jul 24, 2023
    Configuration menu
    Copy the full SHA
    037e6f0 View commit details
    Browse the repository at this point in the history
  5. walletdb: Use a different SQLite application id for encrypted db

    EncrytpedDB wallets will use sqlite but with a different application id.
    This provides downgrade protection in addition to easy identification of
    encrypted dbs. The application id will be the network magic XOR'd with
    0x36932d47 (randomly generated value).
    achow101 committed Jul 24, 2023
    Configuration menu
    Copy the full SHA
    29cbbbc View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    2568277 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    4c7df1f View commit details
    Browse the repository at this point in the history
  8. wallet: Skip loading on start of wallets with encrypted databases

    Wallets with encrypted databases need the user to provide their database
    passphrase which cannot be done on start, so skip any such wallets on
    startup.
    achow101 committed Jul 24, 2023
    Configuration menu
    Copy the full SHA
    0a38dc8 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    d97c315 View commit details
    Browse the repository at this point in the history
  10. gui: Allow AskPassphraseDialog without WalletModel

    Sometimes we just need the dialog without an attached wallet.
    achow101 committed Jul 24, 2023
    Configuration menu
    Copy the full SHA
    854ab2e View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    a85e428 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    a6212f9 View commit details
    Browse the repository at this point in the history
  13. gui: Allow AskPassphraseDialog to have customized warning text

    The warning text that appears above the passphrase inputs may need to be
    customized depending on the context in which the passphrase is being
    entered, so let the caller optionally set it.
    achow101 committed Jul 24, 2023
    Configuration menu
    Copy the full SHA
    5506eea View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    33cceb9 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    93fe316 View commit details
    Browse the repository at this point in the history