Commit Graph
22 Commits
Author SHA1 Message Date
Oliver Gugger 3f45fb3781 walletunlocker: use fast scrypt options for unit tests 2020-01-24 14:02:40 +01:00
Wilmer Paulino 194a9dea81 multi: support sync freelist option within btcwallet 2019-10-04 12:19:40 -04:00
Lars Lehtonen bd2e4d6c42 walletunlocker: stdlib context 2019-09-28 15:45:41 -07:00
Joost Jager 3d7de2ad39 multi: remove dead code 2019-09-10 17:21:59 +02:00
Olaoluwa Osuntokun f0e9a1f753 walletunlock: exend the Init and Unlock methods to also return optional SCB's
In this commit, we we extend the Init and Unlock methods to also parse
out and return optional SCB instances. With this change, when the user
creates their node, if they have an existing seed and also a set of SCBs
(either single or multi), they'll be able to recover both their on-chain
balance, and also any funds that were settled within their existing
channels.
2019-03-28 17:53:23 -07:00
Francisco Calderón 9e920f12c9 Add password length validation on create CLI
In this commit we add this validation importing
the walletunlocker.ValidatePassword function on
create wallet command.
2019-03-05 20:58:46 -03:00
Conner Fromknecht d75a01ec83 walletunlocker/service: change noencryptwallet reference to noseedbackup 2018-09-04 20:52:43 -07:00
Wilmer Paulino b3edc5c257 walletunlocker: avoid returning error if macaroon files don't exist
In this commit, we fix a bug where it's possible that changing the
wallet's password fails due to not being able to remove non-existent
macaroon files. Since it's possible to run lnd without creating them,
changing the wallet's password would always result in a failure.
2018-08-16 16:17:54 -07:00
Conner Fromknecht 1ded697e8d multi: sort import paths with gofmt 2018-08-02 18:20:49 -07:00
Olaoluwa Osuntokun 6f60f139f4 multi: switch over import paths from roasbeef/* to btcsuite/* 2018-07-13 17:05:39 -07:00
Oliver Gugger cd8a21c4b8 walletunlocker: pass unlocked wallet back to lnd to avoid double unlock 2018-06-12 19:27:57 -07:00
Wilmer Paulino 58a3419283 lnd+walletunlocker: implement ChangePassword RPC 2018-05-31 17:24:00 -07:00
Wilmer Paulino b32e0ced45 lnd+walletunlocker: remove macaroon dependency from UnlockerService 2018-05-31 17:23:57 -07:00
yohei okada a15c6e5b04 walletunlocker: use KeyDerivationVersion for generating cipher seed
Replace hard coded internal version with KeyDerivationVersion specified
in keychain package.
2018-05-22 17:39:14 +09:00
Conner Fromknecht 3cb87f377f walletunlocker/service_test: check recovery window is threaded 2018-04-26 16:03:09 -07:00
Conner Fromknecht f8c0357770 walletunlocker: accept recovery window from InitWallet 2018-04-26 16:03:09 -07:00
Olaoluwa Osuntokun 428693cb6e walletunlocker: modify service to implement new 2-step wallet creation
In this commit, we extend the UnlockerService to account for the new
changes in the lnrpc definition. Setting up the daemon for the first
time is now two step process: first the user will generate a new seed
via the GenSeed method, then the user will present this new seed (and
optional pass) to the InitWallet method which then will finalize the
wallet creation.

This two step process ensures that we don't commit the wallet changes
in the case that the user doesn't actually "ACK" the new seed.

In the case that the user already has an existing seed, they can
re-enter it and skip straight to the InitWallet step.

We also update the tests to account for the new API changes.
2018-03-05 11:07:06 -05:00
Alex de6efbd1a1 multi: macaroon root key encryption 2018-02-05 21:44:06 -08:00
Alex 21c29c33d7 multi: upgrade macaroons to v2, replace per-method auth with interceptors
This commit reworks the macaroon authentication framework to use the
v2 macaroon format and bakery API. It also replaces the code in each
RPC method which calls the macaroon verifier with interceptors which
call the macaroon verifier instead. In addition, the operation
permissions are reworked to fit the new format of "allow" commands
(specifically, entity/operation permissions instead of method
permissions).
2018-01-31 17:14:49 -08:00
johan 92f4f4fbda walletunlocker: check that password is at least 8 characters 2017-11-29 17:30:56 +01:00
Olaoluwa Osuntokun 08940b43d5 walletunlocker: don't utilize the macaroon authentication service
In this commit we remove all instances of the macaroon authentication
service from the UnlockerService struct. We do this, as in the future,
the macaroons themselves will be encrypted using the user’s passphrase,
therefore we wouldn’t be able to _verify_ the macaroon unless the
wallet itself was encrypted.
2017-10-19 19:46:48 -07:00
Johan T. Halseth b7ba2697c8 walletunlocker: add package walletunlocker
The walletunlocker package contains the UnlockerService, which
implements the lnrpc.WalletUnlocker interface. This service is
used for receiving a password from the user over RPC, and doing
simple validity checks like making sure the user is not trying
to create a new wallet if one already exists, and that in case
the wallet exists, the provided password is correct.

The service will the pass the passwords over the CreatePasswords
or UnlockPasswords channels, for use within lnd.go.
2017-10-19 19:17:35 -07:00